静态编译 gcc -static hello.c
静态编译参数 -static, 然后使用 size 命令查看执行文件的内存分布大小.
main函数的第三个参数
第三个参数为环境变量数组, 可以如下方式打印
int main(int argc, char *argv[], char *envp[]) {
int i;
for (i = 0; i < argc; ++i) {
printf("argv[%d]: %s\n", i, argv[i]);
}
for (int j = 0; j < 1000; ++j) {
char *env = envp[j];
if (env == NULL) {
break;
}
printf("%d : %s\n", j + 1, env);
}
exit(0);
}
编译pthread源码
-
gcc 解决办法
参数添加 -lpthread
cmake 解决办法
# CMakeList.txt 中添加link 库设置
add_executable(ch11_threads ch11_threads/thread.c)
target_link_libraries(ch11_threads pthread)