linux c编程

没有IDE

编写

  vi、emacs、vs code软件

  /c_program目录

  设置Vi

    tab键4个空格

    设置行号

  

编译

  gcc

  gcc -v 自带的,编译的是x86目标

  参数

    -c     编译不链接

    -o     文件名

    -g     调试

    -v      编译过程

    -O     优化编译

    -O2   更大的优化

  检测语法bug

    err

    warning

make及Makefile文件

  c文件较多,管理工具,自动化

  如果修改了某几个源文件,则只编辑这几个源文件

  如果某个头文件被修改了,则重新编译所有包含头文件的源文件

  3个源文件2个头文件例子

    gcc main.c  calcu.c  input.c  -o  main     生成一个main可执行文件

    看看之前的编译时间,再一次执行,看看编译的时间,发现时间变了,又编译了一次,显然是不合理的

    最好的办法是哪个文件被修改了,只编译这个被修改的文件即可;其它没有修改的文件就不需要再次重新编译了;gcc -c main.c      gcc -c input.c     gcc -c  calcu.c     gcc main.o  input.o  calcu.o  -o  main ;这样重复性的工作,需要一个软件来替我们做

    makefile语法      

复制代码
 1 main: main.o  input.o calcu.o
 2     gcc -o main main.o input.o calcu.o
 3 main.o:main.c
 4     gcc  -c  main.c
 5 input.o:input.c
 6     gcc -c   input.c
 7 calcu.o:calcu.c
 8     gcc -c  calcu.c
 9 clean:
10     rm *.o
11     rm main
复制代码

    执行make,生成main

    执行make clean,删除.o、main

    修改一个源文件,执行make,发现只编译修改的源文件,并链接

Makefile基本语法

  待整理    

    

 

posted @   我爱茜茜公主  阅读(67)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示