- 博客(49)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 数组名是指针,为什么sizeof(数组名)还是数组的大小
数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。这种误解的根源在于国内某著名的C程序设计教程(出版量最多的那本破书)。数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;数组名的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量;指向数
2014-08-30 22:07:59 6231 5
转载 assert()函数如何使用?
1.可以在预计正常情况下程序不会到达的地方放置断言 :assert false2.断言可以用于检查传递给私有方法的参数。(对于公有方法,因为是提供给外部的接口,所以必须在方法中有相应的参数检验才能保证代码的健壮性)3.使用断言测试方法执行的前置条件和后置条件4.使用断言检查类的不变状态,确保任何情况下,某个变量的状态必须满足。(如age属性应大于0小于某个合适值)不
2014-08-29 16:12:00 1179
转载 在makefile文件中,@$符号代表什么意思?
archclean: @$(MAKEBOOT) clean或者checkbin: @ /bin/ture @ true这里面@$和@代表着什么意思啊? $(MAKEBOOT) 是变量 MAKEBOOT 的值,@表示在make时不输出make的信息(类似Windows下的
2014-08-28 20:50:27 2630
转载 time 命令用法,注意在求进程实践的时候,real 时间长是因为i/o时间长
用途说明time命令常用于测量一个命令的运行时间,注意不是用来显示和修改系统时间的(这是date命令干的事情)。但是今天我通过查看time命令的手册页,发现它能做的不仅仅是测量运行时间,还可以测量内存、I/O等的使用情况,手册页上的说法是time a simple command or give resource usage,其中time一词我认为它应该是测量或测定的意思,并不单指时间。一个程
2014-08-27 21:37:37 3297
原创 rand()函数是从seed到maximum(一般是unsigned int 32767),seed为time(0)会不会超了
rand()函数是从seed到maximum(一般是unsigned int 32767),seed为time(0)会不会超了16 分钟前s8435330songya | 分类:C/C++ | 浏览10次srand(time(0))定了seed为1169174701,这个明显比32768要大。那么这个如何做到给一个seed让rand()函数用?举报| 4 分钟前
2014-08-27 20:00:33 938
转载 rand函数和srand函数的用法和区别
标准库 (被包含于 中)提供两个帮助生成伪随机数的函数: 函数一:int rand(void); 从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。 函数二:void srand(unsigned seed); 参数seed是rand()的种子,用来初始化rand()的起始值。
2014-08-27 19:45:27 509
转载 为什么int是从-32768到32767而不是从-32767到32767呢?
计算机用二进制表示负数是用的“补码法”,做法是正数按原码,负数用其相反数的反码加一。这种结果用-32768代替了“-0”,可以使符号位能与有效值部分一起参加运算,从而简化运算规则;同时使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计。举例:3的码值是 00000011,-3则为:11111100+1= 1111110132767的码值是01111111,11111111(1
2014-08-27 14:55:33 2327
转载 页面置换算法 LRU
概述LRU是Least Recently Used近期最少使用算法内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,Oracle会根据那些数据属于LRU而将其移出内存腾出空间来加载另外的数据差距为了尽量减少与理想算法的差距,产生了各种精妙的算法,最少使用页面置换算法便是其中一个。LRU算法的提出,是基于这样一个事实:在前面几条指令中使用频
2014-08-26 21:24:35 838
转载 shell子进程解析
http://blog.csdn.net/sosodream/article/details/5683515实例解析shell子进程(subshell ) 通过实例,解析个人对shell子进程的一个了解,主要包括以下几个方面1:什么是shell子进程2:shell什么情况下会产生子进程3:子进程的特点与注意事项4:$变量$$在脚本
2014-08-26 16:42:57 908
转载 什么是守护进程?
守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引导装入时启动,在系统关闭时终止。unix系统有很多守护进程,大多数服务器都是用守护进程实现的。比如,网络服务inetd、Web服务http等。同时,守护进程完成许多系统任务。比如,作业规划进程crond、打印进程lqd等。守护进程及其特性守护进程最重要的特性是后台运行。在这一点上,
2014-08-26 16:39:51 672
转载 理解Linux系统中的load average(图文版)
http://heipark.iteye.com/blog/1340384一、什么是load average?linux系统中的Load对当前CPU工作量的度量 (WikiPedia: the system load is a measure of the amount of work that a computer system is doing)。也有简单的说是进程队列的长
2014-08-26 14:44:24 497
转载 笔试面试(1)腾讯2014校园招聘软件开发类笔试试题
笔试面试(1)腾讯2014校园招聘软件开发类笔试试题把基本经典的书籍认真看看,那些笔试面试的都不是什么问题。但是,专门的突击和训练还是很有必要的。好的offer是可以通过充分的准备刷到的。我们就从各大公司的套题开始刷起吧,中间再穿插一些专题。今天先看看腾讯的2014年校招的软开笔试题。考试时长:120分钟一
2014-08-26 14:35:54 1128
转载 同一进程下的线程可以共享什么?
同一进程下的线程可以共享以下?(BD)A. stack B.data section C.register set D.file fd解析: 线程共享的内容包括:进程代码段进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录
2014-08-26 14:34:53 14381
原创 进程睡眠是如何实现的?
这是我在百度知道上问的,别人回答的。放在内存。没清空。还在内存中,但是代码不拿去给cpu运行。就是停下来。你需要去看操作系统进程调度线程调度相关的东西……追问2014-08-24 14:33恩,是这样的。这个叫进程上下文。CPU有三种状态,内核态在进程上下文或中断上下文,用户态的进程中。确实进程调度的知识,谢谢了。回答
2014-08-26 09:59:13 720
转载 求职经验
摘自 北邮人论坛 分享他人成功的求职经历。原文如下:唉,妹子本来是本着写面经的态度与大家分享,之自己情况也是想说明一啥都不会的菜鸟在悲催的逆境下也可以凭自身努力找到offer,没想到被评为作秀。。。妹子能力背景确实和说的一样,但是从9月开始不是天天熬夜看了一个多月的书吗?菜鸟也可以拼命锻炼翅膀的。。。 妹子还是把背景舍去,只写面经吧 妹子是cs土著一枚,折腾了半年找
2014-08-25 09:48:05 867
原创 C语言中怎么求幂?
可以用在math.h头文件中声明的pow()函数求,例如:要求a的b次方,就用pow(a,b)即可。^符号在C中是位异或操作符,不用于求乘方。
2014-08-23 09:57:39 14482
原创 贪心算法的一例子,这是阿里的笔试题
11: n从1开始,每个操作可以选择对n加1或者对n加倍。若想获得整数2013,最少需要多少个操作。A:18 B:24 C:21 D;不可能参考答案: A,18个完美解决,方法也很简单,尽量对2013用除法,显示2013->2012->1006->503->502->251->250->125->124->62->31->30->15->14->7->6->3->2->
2014-08-23 09:30:15 886
原创 一些函数的头文件<stdio.h><unistd.h><sys/types.h><stdlib.h><sys/wait.h>头文件的作用
不用说,大家都懂得,就是一堆输入输出
2014-08-22 22:19:05 2767
原创 &&和|| 在执行语句时的差别
学了一个东西 && 与 || 语句a&&语句b 语句a如果是错误的,那么b也不用执行了,整个都是错误的语句a||语句b 语句a如果是正确的,那么b也不用执行了,整个都是正确的
2014-08-21 22:10:02 10937
原创 如何用export修改环境变量 以及 PATH与$PATH的区别
export编辑本词条缺少信息栏、名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!Linux export命令功能说明:设置或显示环境变量。语 法:export [-fnp][变量名称]=[变量设置值]补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使
2014-08-18 16:56:58 50750
转载 tar.gz和tgz的区别
tar.gz和tgz原理上是一样的!假如有一个文件1.txt gzip -19 1.txt (将1.txt压缩成1.gz) 以上为.gz 假如有一个文件1.txt tar -zcvf 11.tgz 1.txt(将1.txt压缩成1.tgz) 以上为.tgz 假如有一个文件1.txt tar -jcvf 11.tar 1.txt(将1.txt压缩成1.tbz) 以上为.tbz
2014-08-18 16:37:04 24999
转载 带参数的main函数,应该怎样运行呢
关于给main函数传递参数问题!!!在Linux环境下, 一个程序main函数有参数,举报|2013-06-08 16:22epdc147 | 分类:C/C++ | 浏览550次那么linux命令行运行这程序时, 怎么给main函数传递参数。 例如程序名为:mmap.c参数为: 1 abcd.txt那么在Linux命令行怎么运行。int main(int argc,char
2014-08-18 11:41:39 5085
转载 ELF文件格式;ELF文件是什么,里面包含什么内容
http://blog.csdn.net/hhhbbb/article/details/6855004最近研究了一下elf文件格式,发现好多资料写的都比较繁琐,可能会严重打击学习者的热情,我把自己研究的结果和大家分享,希望我的描述能够简洁一些。一、基础知识 elf是一种文件格式,用于存储Linux程序. 它内部都有一些什么信息呢?大概包括编制好的计算机指令,数据
2014-08-18 10:53:21 5903
转载 为什么要在编译内核进行initrd RAMdisk这一步?
initial RAM diskLinux初始RAM磁盘(initrd)是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程。initrd文件中包含了各种可执行程序和驱动程序,它们可以用来挂载实际的根文件系统,然后再将这个 initrd RAM磁盘卸载,并释放内存。在很多嵌入式Linux系统中,initrd 就是最终的根文件系统。本文将探索 Linux 2.6 的初
2014-08-17 21:55:23 1329
原创 段寄存器是什么,在程序运行中起什么作用,为什么是程序运行不可缺少的
含义编辑段寄存器CS指向存放程序的内存段,IP是用来存放下条待执行的指令在该段的偏移量,把它们合在一起可在该内存段内取到下次要执行的指令。段寄存器SS指向用于堆栈的内存段,SP是用来指向该堆栈的栈顶,把它们合在一起可访问栈顶单元。另外,当偏移量用到了指针寄存器BP,则其缺省的段寄存器也是SS,并且用BP可访问整个堆栈,不仅仅是只访问栈顶。段寄存器DS指向数据段,ES指向附加
2014-08-17 17:24:26 6516
转载 spinlock与linux内核调度的关系
关于自旋锁用法介绍的文章,已经有很多,但有些细节的地方点的还不够透。我这里就把我个人认为大家容易有疑问的地方拿出来讨论一下。一、自旋锁(spinlock)简介自旋锁在同一时刻只能被最多一个内核任务持有,所以一个时刻只有一个线程允许存在于临界区中。这点可以应用在多处理机器、或运行在单处理器上的抢占式内核中需要的锁定服务。二、信号量简介 这里也介绍下信号量的概念,因为它
2014-08-16 17:54:55 473
转载 makefile的语法及写法
0 Makefile概述 -------------------------------------------------------------------------------- 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要
2014-08-13 21:31:50 489
逻辑地址在运行时会发生变化吗?
2014-01-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人