带参数的main函数以及execl函数的应用
---恢复内容开始---
代码1:(带参main函数)
- #include<stdio.h>
- int main(int number, char *parameter[])
- {
- int i = ;
- printf("number is : %d \n", number);
- for(i=; i<number; i++)
- {
- printf("parameter[%d] is : %s \n", i, parameter[i]);
- }
- if(number!=)
- printf("not 3!!!\n");
- }
运行:
- yisheng@yisheng-v-m:~/xtbc$ gcc main.c
- yisheng@yisheng-v-m:~/xtbc$ ./a.out
- number is :
- parameter[] is : ./a.out
- not !!!
- yisheng@yisheng-v-m:~/xtbc$ ./a.out
- number is :
- parameter[] is : ./a.out
- parameter[] is :
- parameter[] is :
- parameter[] is :
- not !!!
代码2:excel函数:
- #include<stdio.h>
- #include<unistd.h>
- int main()
- {
- int ret;
- ret=execl("./main","main","",NULL);
- if(ret<)
- perror("execl");
printf("excel over\n");- }
运行程序:
- yisheng@yisheng-v-m:~/xtbc$ gcc main.c -o ./main //要先生成可执行的./main
- yisheng@yisheng-v-m:~/xtbc$ gcc .c
- yisheng@yisheng-v-m:~/xtbc$ ./a.out
- number is :
- parameter[] is : main
- parameter[] is :
- not !!!
在这种情况之下,不能够输出后面的“excle over”内容,无法得知进程是否完成,可以改进一下程序,利用fork()创建子进程:
- #include<stdio.h>
- #include<unistd.h>
- #include<wait.h>
- #include<stdlib.h>
- int main()
- {
- int ret;
- int pid;
- pid=fork();
- if(pid==)
- {
- ret=execl("./main","main","",NULL);
- if(ret<)
- {
- perror("execl");
- }
- exit();
- }
- if(pid>)
- {
- wait(NULL);
- printf("excel over\n");
- }
- return ;
- }
结果为:
- yisheng@yisheng-v-m:~/xtbc$ ./a.out //已经存在./main
- number is :
- parameter[] is : main
- parameter[] is :
- not !!!
- excel over
带参数的main函数以及execl函数的应用的更多相关文章
- C语言带参数的main函数
C语言带参数的main函数 #include<stdio.h> int main(int argc,char*argv[]) { int i; ;i<argc;i++) printf ...
- 带参数的main函数
带参数的main函数 int main(int argc,char **argv) 或int main(int argc,char *argv[]) /*解析 依据<C程序设计语言(第二版. ...
- C语言学习011:带参数的main函数
直接上代码 #include <stdio.h> int main(int argc,char *argv[]){ printf("%i \n",argc); int ...
- C语言带参数的main()函数
示例代码: #include<stdio.h> int main(int argc, char *argv[]) { int i; printf("Total %d argume ...
- python:带参数的装饰器,函数的有用信息
一.带参数的装饰器,函数的有用信息 def func1(): '''此函数的功能是完成的登陆的功能 return: 返回值是登陆成功与否(true,false) ''' print(333) func ...
- 装饰器1、无参数的装饰器 2、有参数的装饰器 3、装饰器本身带参数的以及如果函数带return结果的情况
装饰器分成三种: 1.无参数的: 2.有参数的: 3.装饰器本身带参数的. 装饰器decorator又叫语法糖 定义:本质是函数,器就是函数的意思.装饰其他函数.就是为其他函数添加附加功能. 原则: ...
- js中ajax连接服务器open函数的另外两个默认参数get请求和默认异步(open的post方式send函数带参数)(post请求和get请求区别:get:快、简单 post:安全,量大,不缓存)(服务器同步和异步区别:同步:等待服务器响应当中浏览器不能做别的事情)(ajax和jquery一起用的)
js中ajax连接服务器open函数的另外两个默认参数get请求和默认异步(open的post方式send函数带参数)(post请求和get请求区别:get:快.简单 post:安全,量大,不缓存)( ...
- C语言中带参数的宏
带参数的宏定义有如下的格式: [#define 指令----带参数的宏] #define 标识符(x1,x2,……,xn) 其中 x1,x2,……xn是标志符(宏的参数) 注意:在宏的名字和括号之间 ...
- C/C++ 不带参数的回调函数 与 带参数的回调函数 函数指针数组 例子
先来不带参数的回调函数例子 #include <iostream> #include <windows.h> void printFunc() { std::cout<& ...
随机推荐
- Android 开发 深入理解Handler、Looper、Messagequeue 转载
转载请注明出处:http://blog.csdn.net/vnanyesheshou/article/details/73484527 本文已授权微信公众号 fanfan程序媛 独家发布 扫一扫文章底 ...
- Jquery中addClass方法不起作用的解决方案
selected类是要在点击后添加上去的新样式,在点击后,发现没有变化,打开开发者工具,发现selected类已经添加成功了. 在这里没有显示成功的主要原因是后添加的样式表优先级更低,我暂时不清楚具体 ...
- 图集内子图压缩及 ETC2 fallback选项的作用
今天研究发现,图集内的小图最好也是2的N次方或4的倍数 比如这个 采用ECT2 压缩后里面有些子图很花,就是压失败了 失败的原因是尺寸不合规则. 这个由16位改为32位就不花了,意思是当ECT2压缩失 ...
- 剑指offer例题——二进制中1的个数
题目:输入一个整数,输出该二进制表示中1的个数.其中负数用补码表示. 首先明确补码的定义: 原码 反码 补码 将最高位作为符号位(0表示正,1表示负), 其它数字位表达数值本身的绝对值的数字表示方式 ...
- npm突然找不到D:\nodejs\node_modules\npm\bin\npm-cli.js的解决方法
我在安装iView的时候就突然出现这个不正常工作,之后无论用npm进行任何操作,都会出现如下错误 真的是让人很着急啊,看了看环境配置,没问题,然后根据路径找错误,也不知道是哪里出了坑,上百度查,最多建 ...
- spring cloud 总结
Finchley版本Spring Cloud Finchley; Spring Boot 2.0.3 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)(Fin ...
- Page Visibility(网页可见性) API与登录同步引导页实例页面
页面1 HTML代码: <p id="loginInfo"></p> JS代码: (function() { if (typeof pageVis ...
- Centos7安装部署Zabbix3.4
1.关闭selinux和firewall 1.1检测selinux是否关闭 [root@localhost ~]# getenforce Disabled ...
- 手动添加jar包到本地maven仓库
我们都知道使用maven管理jar包的时候,我们需要到远程仓库下载相关的jar包到本地仓库,但是如果远程仓库没有这个jar包呢?这时候我们就需要手动将jar包添加到本地仓库. 起因是我想用百度的富文本 ...
- canvas(一) 基本线条绘制
var dom = document.getElementById('canvasItem'), ctx = dom.getContext('2d'); //坐标位置默认基于 浏览器窗口(0,0),此 ...