在gcc中使用-o编译

对于一个一般的程序,直接使用gcc <C语言文件名> -o <编译后生成的文件名>即可,例如以下程序:

// cpu.c

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>int main(int argc,int *argv[]){if(argc != 2){fprintf(stderr,"need parameter\n");exit(1);}char *str = argv[1];for(int i = 0;i < 4;i++){printf("%s\n",str);sleep(1);}return 0;
}

编译命令:gcc cpu.c -o cpu

(这个警告不重要)之后就会生成可执行文件cpu,我们可以使用./cpu运行它。

额外参数 -lpthread

对于含有<pthread.h>的程序,例如下面的:

// threads.c

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>volatile int counter = 0;
int loops;void *worker(void *arg) {int i;for (i = 0; i < loops; i++) {counter++;}return NULL;
}int main(int argc, char *argv[]) {if (argc != 2) {fprintf(stderr, "usage: threads <value>\n");exit(1);}loops = atoi(argv[1]);pthread_t p1, p2;printf("Initial value : %d\n", counter);pthread_create(&p1, NULL, worker, NULL);pthread_create(&p2, NULL, worker, NULL);pthread_join(p1, NULL);pthread_join(p2, NULL);printf("Final value : %d\n", counter);return 0;
}

在编译的时候需要加上额外的参数-lpthread,因为该头文件在Linux默认Import Library中没有,需要使用库libpthread.a进行编译链接。

命令gcc threads.c -o threads -lpthread


然后会生成可执行文件threads,使用./threads运行即可。

【Linux】编译C语言文件(-o -lpthread)相关推荐

  1. GCC 编译 C 语言文件

    GCC 编译 C 语言文件 题目要求 请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b) ...

  2. linux 编译C语言代码后产生OBJ文件的方法

    如果你不指定编译成什么文件,gcc默认一步到位,直接生成可执行文件你可以试试以下几个参数 -c 只激活预处理,编译,和汇编,也就是他只把程序做成obj文件 例子用法: gcc -c hello.c 他 ...

  3. windows下编译c语言文件路径,解决JNI在Windows环境下因长路径导致编译失败问题

    之前听一个朋友反馈LuaScriptoCore在Windows下编译会报错,今天特意跑到Windows环境下测试了一番,果然是存在问题.得到了下面的编译报错信息: Build command fail ...

  4. linux 编译运行c文件

    在ubuntu安装gcc 编辑 test.c /* Not stdio.h */ #include <unistd.h>void main() {char str[100];/*Write ...

  5. vs编译c语言文件不读取对象式宏,C代码的条编译宏windows的VS和linux下gcc编译不一样...

    #include #include #define XXX 2 #define YYY 20 int main() { #if(XXX > 10) printf("XXX > 1 ...

  6. linux编译python语言指令_Python实现Linux命令xxd -i功能

    一. Linux xxd -i功能 Linux系统xxd命令使用二进制或十六进制格式显示文件内容.若未指定outfile参数,则将结果显示在终端屏幕上:否则输出到outfile中.详细的用法可参考li ...

  7. Linux下 C语言文件IO操作(系统IO)

    Linux系统下使用C语言进行文件系统IO操作 1打开文件 函数:int open(const char *,int flags); //打开一个已经存在的文件 int open(const char ...

  8. centos如何编译c语言文件,centos如何编译c语言代码

    编译c,c++代码 安装gcc 1.使用如下命令查询 centos 官方gcc的所有包: yum -list gcc* 可安装的软件包 gcc.x86_64gcc-c++.x86_64gcc-gfor ...

  9. Linux下c语言文件读写函数总结

    1.FILE *fopen(const char *filename, const char *mode) "r" 打开一个用于读取的文件.该文件必须存在. "w&quo ...

最新文章

  1. 说一说activity
  2. Android-Binder(一)
  3. 2021-03-31 Matlab simulink 模糊PID在无刷直流电机中的应用
  4. 如何通过apk获得包名及Activiy 名称
  5. 全国计算机一级d类考试内容,全国计算机一级考试WPS office复习题及答案2017
  6. 第十二节:WebApi自动生成在线Api文档的两种方式
  7. 游戏开发-cocos creator技巧-cc.Component.EventHandler自定义click事件
  8. php分页类示例下载,PHP 通用分页类的简单示例
  9. 艾伟_转载:扩展方法 之 基本数据篇
  10. 管理Kubernetes集群时需要关注的关键指标
  11. Java高级编程练习题
  12. 计算机上键盘无法输入法,电脑中输入法设置窗口提示检测到不兼容的键盘驱动的解决方法...
  13. UIDataCollector的下载和使用
  14. 拜托,请给我贫寒简单的生活!
  15. 深入了解JVM之垃圾回收(二)
  16. 【Docker】自定义dockerfile构建容器镜像并发布
  17. /etc/fstab文件详解
  18. nvm use 报错:You do not have sufficient privilege to perform this operation
  19. python中使用什么命令安装组件_在离线环境下安装python组件
  20. 最优投资组合构建问题,Python实现

热门文章

  1. for,foreach,iterator的用法和区别
  2. 学习总结:机器学习(一)
  3. zk中的Datebox中得到Timestamp
  4. mybatis-plus分页查询_SpringBoot + MyBatisPlus 快速入门
  5. 如何在ftp服务器下查找文件夹,查找ftp服务器下的文件夹名
  6. 个人信息管理系统代码_Thymeleaf+SpringBoot+Mybatis实现的易游网旅游信息管理系统...
  7. html5 video修改默认样式,HTML5中将video设置为背景的方法
  8. git显示服务器所有分支,git 查看所有远程分支以及同步
  9. python3读取ini文件_python3配置文件ini读取方法
  10. mybatis添加方法可以传map吗_Mybatis中传递多个参数的4种方法总结