c或c++
hsyscut
这个作者很懒,什么都没留下…
展开
-
字符串常量
今天我想说一下在c中字符串常量的问题。在这里首先要先说明一下,我们知道,在程序中数值型常量在编译后并不是存在数据段之中,而是直接作为立即数存在程序之中,也就是说,程序编译后,该数值型常量就存在程序之中,当程序执行过程中,并不需要在数据段提取。 类似汇编中的 Mov a,#12 而字符串常量就不同了。 当我们在程序中使用字符串常量时,它是被存在常量区,常量区的数据是不能更改的,而且它是有原创 2016-05-26 23:47:10 · 404 阅读 · 0 评论 -
运行程序的存储空间分类
这个问题困扰了我很久,因为总感觉各种书的说法总有点差别,这里,我把我觉得比较好的一种答法。 总共分为5类 栈区(stack):由编译器自动分配和释放,存放函数的参数值、局部变量的值等。 堆区(heap):一般由程序员分配和释放,若程序员不释放,程序节束时可能由操作系统回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表 c中有malloc,remalloc 分配的空间。 c+原创 2016-08-26 14:38:02 · 914 阅读 · 0 评论 -
关于pthread_exit(void *rval_ptr)使用void指针的问题
在看书的时候想的是为什么不像正常函数那样使用一个全局变量来传递。这是为了通用性,因为我们不知道要返回什么类型的数据原创 2017-07-13 15:14:56 · 292 阅读 · 0 评论 -
12.5重入
如果一个函数在相同的时间点可以被多个线程安全调用,就称该函数为线程安全的 很多函数并不是线程安全的,因为它们返回的数据放在静态的内存缓冲区中(如果该函数被其他线程调用,该缓冲区会被覆盖) 注意线程安全与可重入函数之间的区别 可重入函数是指在信号异步发生时,对该函数的执行结果没有影响原创 2017-07-13 23:18:35 · 167 阅读 · 0 评论 -
简单的netfilter hook函数注册以及内核链表的使用
#include #include #include #include #include #include #include struct fox{ int a; struct list_head list; }; struct list_head fox_list; /** * Hook function to be called. * We modify the pac原创 2017-10-19 22:32:23 · 473 阅读 · 0 评论