2012年5月30日
摘要: assert宏的原型定义在assert.h中,其作用是如果它的条件返回错误,则终止程序执行. 原型定义: 1 #include "assert.h"2 void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。 请看下面的程序清单badptr.c: 01 #include02 #include03 #include04 int main( void )05 {06 FILE *fp;07 08 fp =... 阅读全文
posted @ 2012-05-30 20:15 york_hust 阅读(2611) 评论(0) 推荐(0) 编辑
摘要: 1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案与分析: 1)、不可以,程序运行时会告诉你非法访问。原因在于,指向类型T的指针并不等价于类型T的数组。extern char *a声明的是一个指针变量而不是字符数组,因此与实际的定义不同,从而造成运行时非法访问。应该将声明改为extern c 阅读全文
posted @ 2012-05-30 15:45 york_hust 阅读(754) 评论(0) 推荐(0) 编辑
摘要: 翻页命令Ctrl + B (Backward):向上翻一页,Ctrl + F (Forward):向下翻一页Ctrl + D (Down):向下滚半屏,Ctrl + U (Up):向上滚半屏{:以段落为单位,向上翻动}:以段落为单位,向下翻动以上两命令在使用时需要按住Shift键,因为大括号所在的键位还有一个中括号窗口分割:sp:水平分割:vsp:垂直分割:diffs:分割出一个文件比较窗口窗口跳转方法一:先按Ctrl + W,然后按相应的方向键,上k、下j、左h、右l方法二:直接按Ctrl + 方向键,如Ctrl + J、Ctrl + L代码补全Ctrl + P:可以补全在本次Vim进程中出 阅读全文
posted @ 2012-05-30 10:48 york_hust 阅读(590) 评论(0) 推荐(0) 编辑
摘要: 我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。nohup/setsid/&场景:如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在后台稳定运行呢?hangup 名称的来由在 Unix 的早期版本中,每个终端都会通过 modem 和系统通讯。当用户 logout 时,modem 就会挂断(hang up)电话。 同理,当 modem 断开连 阅读全文
posted @ 2012-05-30 10:19 york_hust 阅读(9657) 评论(0) 推荐(1) 编辑