Linux下C程序编写,以及Makefile的简单使用。
一、项目文件创建使用mkdir test创建test文件夹。可以使用rmdir test 移除 文件夹在test目录下 使用touch 函数创建.c 和.h文件再使用编辑器对其进行正常开发同嵌入式keil一样编辑完成后进行保存。这里我以abs函数为例1创建代码文件命令touch main.c abs.c abs.h2对代码进行编写并进行保存二、编译文件三种方法方法一使用一天命令进行直接自动编译链接命令gcc main.c abs.c -o myprog一条命令同时编译main.c和abs.c链接成可执行文件myprog。适合文件较少的小项目。方法二分步编译# 1.分别编译成目标文件只编译不链接gcc -c main.c -o main.ogcc -c abs.c -o abs.o-c 表示只编译不链接生成.o目标文件最后把多个目标文件链接成最终程序。# 2.再链接成可执行文件gcc main.o abs.o -o myprog方法三使用Makefile管理创建Makefile文件并编写下面逐行解释这个 Makefile 的内容# 目标文件最终要生成的可执行程序 myprog: main.o abs.o # 规则用 gcc 把两个目标文件链接成可执行文件 myprog gcc main.o abs.o -o myprog 目标文件 main.o 依赖源文件 main.c main.o: main.c # 规则只编译不链接生成 main.o gcc -c main.c -o main.o 目标文件 abs.o 依赖源文件 abs.c abs.o: abs.c # 规则只编译不链接生成 abs.o gcc -c abs.c -o abs.o 伪目标 clean用于清理生成的文件 clean: # 规则删除编译生成的目标文件和可执行文件 rm -f main.o abs.o myprogMakefile 的核心概念说明目标target冒号左侧的名称如myprog、main.o、abs.o、clean表示要生成的东西或要执行的动作。a依赖prerequisites冒号右侧的文件如main.o abs.o表示生成目标前需要先准备好的文件。规则recipe目标下方以 Tab 键开头的命令如gcc main.o abs.o -o myprog表示如何从依赖生成目标。变量variable可以用CC gcc定义编译器、OBJS main.o abs.o定义目标文件列表再用$(CC)、$(OBJS)引用方便统一修改。在终端输入make时make 会读取 Makefile按依赖关系依次编译main.o、abs.o最后链接生成myprog。输入make clean时会执行rm -f main.o abs.o myprog把编译过程中生成的.o目标文件和可执行文件myprog全部清理掉方便重新编译。四、运行结果编译成功后执行./myprog输出结果

相关新闻

数据治理支撑决策协同:释放AI+BI持续价值

数据治理支撑决策协同:释放AI+BI持续价值

导语 当企业已经完成BI平台的基础搭建,进入从“看数”到“决策智能”的升级阶段,AIBI的应用也在逐步落地时,很多企业都会遇到了同一个尴尬:投入不少资源做了数据治理,却看不到实际的业务价值;AI生成的分析…

2026/11/13 20:12:01 阅读更多 →
泛零售多渠道数据打架:换BI前先理清指标统一的核心逻辑

泛零售多渠道数据打架:换BI前先理清指标统一的核心逻辑

导语 对于多门店多渠道布局的泛零售企业来说,多个部门算出的销售额、动销率、复购率对不上是很常见的问题,开会讨论业绩时各说各话,调整渠道动作时因为数据不一致延误决策。很多企业把问题归结为工具不好用,上来就启动BI替换&…

2026/11/3 17:37:38 阅读更多 →
当AI开始管理AI团队:企业级多Agent协作系统实战指南

当AI开始管理AI团队:企业级多Agent协作系统实战指南

摘要:本文通过深圳跨境电商公司CTO赵磊的实践案例,系统讲解多Agent协作系统的概念、搭建过程与真实效果。文章从“单个Agent能力有限”的现实痛点切入,介绍多Agent协作系统的定义与工作流程,并结合LangGraph框架分享角色定义不清、…

2026/11/2 9:15:26 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/13 5:13:25 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/13 5:13:25 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/13 5:13:25 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/12 18:22:26 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/12 18:22:25 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/13 5:13:25 阅读更多 →

日新闻

周新闻

月新闻