main函数的第三个参数envp
来源:互联网 发布:知柏地黄丸治耳鸣吗 编辑:程序博客网 时间:2024/06/06 01:51
最简单的main函数是这样的:
int main() { printf("Hello World!\n"); return 0;}
再后来,需要处理传递的参数,是这样的:
int main(int argc, char *argv[]) { int i = 0; for (i=0; i<argc; i++) { printf("argv[%d]=%s\n", i, argv[i]); }}
再再后来,在一个大工程中(cups)看到了这个:
// 可执行程序名字为`main`int main(int argc, char *argv[], char *envp[]) { // 参数 int i = 0; for (i=0; i<argc; i++) { printf("argv[%d]=%s\n", i, argv[i]); } // TODO: envp参数 while (*envp) { printf("%s\n", *(envp++)); }}
没有留意envp这个第三个参数,直接传递前两个参数,程序始终不正常。感觉非常奇怪。静下心思考才得知可能是envp造成的。
在终端中如何传递第三个参数呢?需要借助代码,比如如下:
// 可执行程序名字为`execve`int main() { char *argv[1]; argv[0] = "main"; char *envp[1024]; envp[0]="NAME=Arnold Schwarzenegger"; envp[1]="SEX=male"; execve("./main", argv, envp); return 0;}
参见这里:https://www.tutorialspoint.com/unix_system_calls/execve.htm
阅读全文
0 0
- main函数的第三个参数envp
- main函数第3个参数envp装的是什么
- main函数第3个参数envp装的是什么
- main函数中的argc,argv,envp参数
- main 函数第三个参数
- main的第三个参数
- main不为人知的第三个参数
- main()函数的第三个参数,你不是哪里都能看到它的身影
- main 函数的2个参数
- 关于main函数的第二个参数
- mian函数跳转到mainret = main(argc, argv, envp)
- addEventListener函数第三个参数的作用
- php函数 ~ mkdir的第三个参数
- sort函数的第三个参数cmp
- main函数的参数
- main函数的参数
- Main 函数的参数
- main()函数的参数
- NYOJ B : 我是素数吗?
- Android_Databinding遇到的问题
- 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
- Linux select()详解
- 复制构造函数与普通构造函数的区别
- main函数的第三个参数envp
- iframe标签使用问题
- zoj 3954 Seven-Segment Display 位运算
- Android webview显示电脑版网页
- Java编译时出现编码GBK的不可映射字符错误
- 鸡兔同笼
- Android Room牛刀小试
- WebService 超简单入门教程(Java)
- java成员内部类