
C 语言
duguteng
这个作者很懒,什么都没留下…
展开
-
用ctags在终端下查看代码
ctags使得我们使用vim查看C程序时可以像SourceInsight一样直接跳转到一个函数的定义处查看其定义,数据结构类似。这样极大地提高了我们查看代码的效率!废话不多说,看看怎么实现的。1.首先要安装ctags,apt-get install一下就可以了,不罗嗦;2.进入到你的源代码目录并运行命令ctags -R将相应的源文件进行统计;3. 使用vim原创 2012-02-15 21:30:48 · 957 阅读 · 0 评论 -
如何定义返回函数指针的函数
定义一个返回函数指针的函数,如果直接定义理解起来稍微有点困难。比如:extern void (*interruptf(int sig, void *func(int)))(int);定义了一个函数interruptf;这个函数的参数有两个,分别是int型的sig和一个函数指针(这个函数指针的返回值是void,参数是int型);这个函数的返回值是一个函数指针(这个函数指针的输入参数是in原创 2012-08-14 10:49:24 · 2120 阅读 · 1 评论 -
AT&T汇编与GCC内嵌汇编语法(转载)
原文太长,请移步原作者博客:http://blog.chinaunix.net/space.php?uid=7396950&do=blog&id=2056358转载 2012-07-19 20:34:14 · 692 阅读 · 0 评论 -
C语言中按顺序命名函数(字符串拼接)
有时候需要按顺序命名一些函数,比如说要产生如下的函数名:rtems_exception_prologue_0:rtems_exception_prologue_1rtems_exception_prologue_2rtems_exception_prologue_3...这时候可以用如下方式实现:rtems_exception_prologue_##_vector原创 2012-08-02 22:17:28 · 1452 阅读 · 0 评论 -
x86中断向量表
1 -- 关于中断向量的几点注释1. 系统引导时,中断向量表放在内存何处? 系统刚引导时,内存0x00000到0x0003FF共1KB的空间用于存放中断向量表。每个中断向量占用4个字节,共可存储256个中断向量。2. 系统引导时,处在实模式下,只可寻址1MB,为什么要用4个字节来寻址中断呢处理程序? 刚看到的时候,我也很纳闷。我们都知道编程的时候指针都是4个字节的,转载 2012-05-10 09:58:04 · 6827 阅读 · 0 评论 -
DOS功能调用
AH功能调用参数返回参数00程序终止(同INT 20H)CS=程序段前缀01键盘输入并回显AL=输入字符02显示输出DL=输出字符03异步通迅输入AL=输入数据04转载 2012-05-10 09:56:30 · 839 阅读 · 0 评论 -
linux 汇编——hello world!
#this is a 'hello world' program.section .dataoutput: #字符串的起始地址.ascii "hello world!\n" #字符串内容.section .text.globl _start #全局访问标识符_转载 2012-05-08 16:17:50 · 780 阅读 · 0 评论 -
linux 汇编 hello world + 调试
.section .data#初始化的变量 output: .ascii "hello,world\n" #要打印的字符串,.data为初始化值的变量。output是标签,指示字符串开始的位置,ascii为数据类型 .section .bss#未初始化的变量,由0填充的缓冲区 .lcomm num,20 #lcomm为本地内存区域,即本地汇编外的不能转载 2012-05-08 16:35:59 · 1677 阅读 · 0 评论 -
C语言运算符优先级详细列表
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参表) .成员选择(对象)对象.成员名转载 2012-04-18 08:54:28 · 727 阅读 · 0 评论 -
C语言中的volatile的使用
本文参考自:http://gyy.iteye.com/blog/166678,感谢原作者!一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:1) 并行设备的硬件寄存器(如:状态寄存器)转载 2012-03-16 21:27:21 · 681 阅读 · 0 评论 -
sizeof() 的用法总结
本文转自:http://blog.pfan.cn/wenzhuo316/19802.htmlsizeof()功能:计算数据空间的字节数1.与strlen()比较 strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。 而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。2.指针与静态数转载 2012-03-04 17:46:05 · 365 阅读 · 0 评论 -
gdb常用命令
本文转载自本站gnuhpc的专栏 谢谢原作者的贡献!调用gdb编译需要在cc后面加 -g参数再加-o;[root@redhat home]#gdb 调试文件:启动gdb(gdb) l(list) :(字母l)从第一行开始列出源码(gdb) break n :在第n行处设置断点(gdb) break func:在函数func()的入口处设置断点(gdb)转载 2011-11-22 14:25:12 · 820 阅读 · 0 评论 -
C语言中的转义字符
转义字符的完整诠释转义字符是C语言中表示字符的一种特殊形式。通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号( '),用于表示字符串常量的双撇号( ")和反斜杠( \)等。转义字符用反斜杠\后面跟一个字符或一个八进制或十六进制数表示。转义字符 意义 ASCII码值(十进制)\a转载 2012-02-20 10:27:41 · 1478 阅读 · 0 评论