---恢复内容开始---

代码1:(带参main函数)

  1. #include<stdio.h>
  2. int main(int number, char *parameter[])
  3. {
  4. int i = ;
  5. printf("number is : %d \n", number);
  6. for(i=; i<number; i++)
  7. {
  8. printf("parameter[%d] is : %s \n", i, parameter[i]);
  9.  
  10. }
  11. if(number!=)
  12. printf("not 3!!!\n");
  13. }

运行:

  1. yisheng@yisheng-v-m:~/xtbc$ gcc main.c
  2. yisheng@yisheng-v-m:~/xtbc$ ./a.out
  3. number is :
  4. parameter[] is : ./a.out
  5. not !!!
  6. yisheng@yisheng-v-m:~/xtbc$ ./a.out
  7. number is :
  8. parameter[] is : ./a.out
  9. parameter[] is :
  10. parameter[] is :
  11. parameter[] is :
  12. not !!!

代码2:excel函数:

  1. #include<stdio.h>
  2. #include<unistd.h>
  3.  
  4. int main()
  5. {
  6. int ret;
  7. ret=execl("./main","main","",NULL);
  8.  
  9. if(ret<)
  10. perror("execl");
      printf("excel over\n");
  11.  
  12. }

运行程序:

  1. yisheng@yisheng-v-m:~/xtbc$ gcc main.c -o ./main //要先生成可执行的./main
  2. yisheng@yisheng-v-m:~/xtbc$ gcc .c
  3. yisheng@yisheng-v-m:~/xtbc$ ./a.out
  4. number is :
  5. parameter[] is : main
  6. parameter[] is :
  7. not !!!

在这种情况之下,不能够输出后面的“excle over”内容,无法得知进程是否完成,可以改进一下程序,利用fork()创建子进程:

  1. #include<stdio.h>
  2. #include<unistd.h>
  3. #include<wait.h>
  4. #include<stdlib.h>
  5. int main()
  6. {
  7. int ret;
  8. int pid;
  9. pid=fork();
  10. if(pid==)
  11. {
  12. ret=execl("./main","main","",NULL);
  13.  
  14. if(ret<)
  15. {
  16. perror("execl");
  17.  
  18. }
  19. exit();
  20. }
  21. if(pid>)
  22. {
  23. wait(NULL);
  24. printf("excel over\n");
  25. }
  26. return ;
  27. }

结果为:

  1. yisheng@yisheng-v-m:~/xtbc$ ./a.out //已经存在./main
  2. number is :
  3. parameter[] is : main
  4. parameter[] is :
  5. not !!!
  6. excel over

带参数的main函数以及execl函数的应用的更多相关文章

  1. C语言带参数的main函数

    C语言带参数的main函数 #include<stdio.h> int main(int argc,char*argv[]) { int i; ;i<argc;i++) printf ...

  2. 带参数的main函数

    带参数的main函数 int main(int argc,char **argv)  或int main(int argc,char *argv[])  /*解析 依据<C程序设计语言(第二版. ...

  3. C语言学习011:带参数的main函数

    直接上代码 #include <stdio.h> int main(int argc,char *argv[]){ printf("%i \n",argc); int ...

  4. C语言带参数的main()函数

    示例代码: #include<stdio.h> int main(int argc, char *argv[]) { int i; printf("Total %d argume ...

  5. python:带参数的装饰器,函数的有用信息

    一.带参数的装饰器,函数的有用信息 def func1(): '''此函数的功能是完成的登陆的功能 return: 返回值是登陆成功与否(true,false) ''' print(333) func ...

  6. 装饰器1、无参数的装饰器 2、有参数的装饰器 3、装饰器本身带参数的以及如果函数带return结果的情况

     装饰器分成三种: 1.无参数的: 2.有参数的: 3.装饰器本身带参数的. 装饰器decorator又叫语法糖 定义:本质是函数,器就是函数的意思.装饰其他函数.就是为其他函数添加附加功能. 原则: ...

  7. js中ajax连接服务器open函数的另外两个默认参数get请求和默认异步(open的post方式send函数带参数)(post请求和get请求区别:get:快、简单 post:安全,量大,不缓存)(服务器同步和异步区别:同步:等待服务器响应当中浏览器不能做别的事情)(ajax和jquery一起用的)

    js中ajax连接服务器open函数的另外两个默认参数get请求和默认异步(open的post方式send函数带参数)(post请求和get请求区别:get:快.简单 post:安全,量大,不缓存)( ...

  8. C语言中带参数的宏

    带参数的宏定义有如下的格式: [#define 指令----带参数的宏] #define 标识符(x1,x2,……,xn) 其中  x1,x2,……xn是标志符(宏的参数) 注意:在宏的名字和括号之间 ...

  9. C/C++ 不带参数的回调函数 与 带参数的回调函数 函数指针数组 例子

    先来不带参数的回调函数例子 #include <iostream> #include <windows.h> void printFunc() { std::cout<& ...

随机推荐

  1. Android 开发 深入理解Handler、Looper、Messagequeue 转载

    转载请注明出处:http://blog.csdn.net/vnanyesheshou/article/details/73484527 本文已授权微信公众号 fanfan程序媛 独家发布 扫一扫文章底 ...

  2. Jquery中addClass方法不起作用的解决方案

    selected类是要在点击后添加上去的新样式,在点击后,发现没有变化,打开开发者工具,发现selected类已经添加成功了. 在这里没有显示成功的主要原因是后添加的样式表优先级更低,我暂时不清楚具体 ...

  3. 图集内子图压缩及 ETC2 fallback选项的作用

    今天研究发现,图集内的小图最好也是2的N次方或4的倍数 比如这个 采用ECT2 压缩后里面有些子图很花,就是压失败了 失败的原因是尺寸不合规则. 这个由16位改为32位就不花了,意思是当ECT2压缩失 ...

  4. 剑指offer例题——二进制中1的个数

    题目:输入一个整数,输出该二进制表示中1的个数.其中负数用补码表示. 首先明确补码的定义: 原码 反码 补码 将最高位作为符号位(0表示正,1表示负), 其它数字位表达数值本身的绝对值的数字表示方式 ...

  5. npm突然找不到D:\nodejs\node_modules\npm\bin\npm-cli.js的解决方法

    我在安装iView的时候就突然出现这个不正常工作,之后无论用npm进行任何操作,都会出现如下错误 真的是让人很着急啊,看了看环境配置,没问题,然后根据路径找错误,也不知道是哪里出了坑,上百度查,最多建 ...

  6. spring cloud 总结

    Finchley版本Spring Cloud Finchley; Spring Boot 2.0.3 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)(Fin ...

  7. Page Visibility(网页可见性) API与登录同步引导页实例页面

    页面1  HTML代码: <p id="loginInfo"></p> JS代码: (function() {     if (typeof pageVis ...

  8. Centos7安装部署Zabbix3.4

    1.关闭selinux和firewall 1.1检测selinux是否关闭 [root@localhost ~]# getenforce  Disabled                       ...

  9. 手动添加jar包到本地maven仓库

    我们都知道使用maven管理jar包的时候,我们需要到远程仓库下载相关的jar包到本地仓库,但是如果远程仓库没有这个jar包呢?这时候我们就需要手动将jar包添加到本地仓库. 起因是我想用百度的富文本 ...

  10. canvas(一) 基本线条绘制

    var dom = document.getElementById('canvasItem'), ctx = dom.getContext('2d'); //坐标位置默认基于 浏览器窗口(0,0),此 ...