C语言
杨幂的咪
读书使我快乐
展开
-
linux内核宏的阅读方法
通过预编译的方法将内核代码中的宏替换掉,再把得到的c代码格式化 下面是预编译后的一个例子: extern void task_cputime_adjusted(struct task_struct *p, cputime_t *ut, cputime_t *st); extern void thread_group_cputime_adjusted(struct task_struct *p, ...原创 2020-02-01 20:33:45 · 555 阅读 · 0 评论 -
C指针的理解
test.c: #include <stdio.h> #include <stdlib.h> int main(int argc, char **argv) { int a = 5; int *p1 = &a; int **p2 = &p1; return 0; } arm-cortexa9-linux-gnueabih...原创 2020-02-01 20:37:58 · 289 阅读 · 0 评论 -
C函数与栈的理解
栈是内存中的空间,用来存储函数内部的变量,sp寄存器值是这片空间的基址 下面的例子直观的说明了这一点: test.c: #include <stdio.h> #include <stdlib.h> int sum2(int a, int b) { return a + b; } int sum1(int a, int b) { return (sum2(...原创 2020-02-01 20:42:41 · 320 阅读 · 0 评论 -
宏函数的返回值
宏函数,在定义时不需要指明返回类型及返回值 宏函数中最后一个表达式的值,即为宏函数的返回值。 该值的类型,即为宏函数的返回类型。 #define Min(x, y) ((x)<(y)?(x):(y) int main() { int a = 10; int b = 20; int c = Min(10, 20); return 0; } ...原创 2020-02-02 09:44:30 · 2223 阅读 · 0 评论