make -C ~/kernel-2.6 M=`pwd` modules
Run Code Online (Sandbox Code Playgroud)
M ='pwd'在上面的行中是什么意思?
我无法理解这个解释:
在尝试构建模块目标之前,M =选项会使makefile移回模块源目录.
你能说得更清楚吗?
我刚刚在代码中看到以下行:
#define ERR_FATAL( str, a, b, c ) {while(1) {*(unsigned int *)0 = 0xdeadbeef;} }
Run Code Online (Sandbox Code Playgroud)
我知道0xdeadbeef意味着错误,但是当它在地址0时,该值是什么意思?地址0代表什么?
我有这个奇怪的事情:
在file1.c中有
extern void foo(int x, int y);
..
..
int tmp = foo(1,2);
Run Code Online (Sandbox Code Playgroud)
在项目中,我只能找到这个foo():
在file2.c中:
int foo(int x, int y, int z)
{
....
}
Run Code Online (Sandbox Code Playgroud)
在file2.h中:
int foo(int x, int y, int z);
Run Code Online (Sandbox Code Playgroud)
file2.h中没有包含file2.h(这就是为什么谁用extern写的,我猜).
这个项目编译得很好,我认为这是因为在file1.c中foo()只会在链接期间查找,我是对的吗?
但我真正的问题是:为什么联系很紧张?毕竟,没有像foo这样的函数有2个参数....而且我在c ..所以没有超载..
发生什么了 ?
我的屏幕上有10*3个按钮.当我点击一个按钮时,我希望它不可见,所以我这样做:
arg0.setVisibility(View.GONE);
但是当按钮消失时,按钮会改变它们的大小.例如,如果在开始时每个按钮占用1/3行,现在当按钮消失时,行中的其他按钮变宽.
有没有办法让他们在删除按钮时不改变尺寸?
我在makefile中读到了关于递归变量的内容.因为我们在下面的代码中加上'=',它是一个递归变量,与':='相对应
CC = gcc -Wall
# we want to add something to the end of the variable
CC = $(CC) -g
hello.o: hello.c hello_api .h
$(CC) -c hello.c -o hello.o
Run Code Online (Sandbox Code Playgroud)
我还是不明白,为什么在这种情况下我们有一个非常大的循环.
如果我有:
#define X 5
#define Y X
Run Code Online (Sandbox Code Playgroud)
这种事情的预处理器会发生什么?它是否遍历整个文件并将每个 X 更改为 5,然后返回到下一个定义,然后将每个 Y 更改为 5(因为在前一次迭代中 Y 得到了 5)?
我对网络很陌生,所以听起来很愚蠢,但是:
如果我做:
ping www.google.com
Run Code Online (Sandbox Code Playgroud)
ping将进入这个网站需要哪些步骤?
我知道DNS有一个从名称到IP的转换(这是第一步)吗?
还应该有ARP请求吗?(从DNS获取IP地址后)?
还有其他什么阶段?
我尝试过使用wireshark,但它让我更加困惑......
谢谢