Linux 中最重要的软件开发工具是 GCC。GCC 是 GNU 的 C 和 C++ 编译器。实际上,GCC 能够编译三种语言:C、C++ 和 Object C(C 语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序。
GCC 可同时用来编译 C 程序和 C++ 程序。一般来说,C 编译器通过源文件的后缀名来判断是 C 程序还是 C++ 程序。在 Linux 中,C 源文件的后缀名为 .c,而 C++ 源文件的后缀名为 .C 或 .cpp。
gcc 命令只能编译 C++ 源文件,而不能自动和 C++ 程序使用的库连接。因此,通常使用 g++ 命令来完成 C++ 程序的编译和连接,该程序会自动调用 gcc 实现编译。
选项 解释
-ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,
例如 asm 或 typeof 关键词。
-c 只编译并生成目标文件。
-DMACRO 以字符串“1”定义 MACRO 宏。
-DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。
-E 只运行 C 预编译器。
-g 生成调试信息。GNU 调试器可利用该信息。
-IDIRECTORY 指定额外的头文件搜索路径DIRECTORY。
-LDIRECTORY 指定额外的函数库搜索路径DIRECTORY。
-lLIBRARY 连接时搜索指定的函数库LIBRARY。
-m486 针对 486 进行代码优化。
-o FILE 生成指定的输出文件。用在生成可执行文件时。
-O0 不进行优化处理。
-O 或 -O1 优化生成代码。
-O2 进一步优化。
-O3 比 -O2 更进一步优化,包括 inline 函数。
-shared 生成共享目标文件。通常用在建立共享库时。
-static 禁止使用共享连接。
-UMACRO 取消对 MACRO 宏的定义。
-w 不生成任何警告信息。
-Wall 生成所有警告信息。
GNU 的调试器称为 gdb
由于软件项目越来越大,也增加了软件项目管理的难度。在开发组中,每个成员都要保留一个副本,在开发中非常容易引起冲突。CVS 就是为了解决这个问题的。
a、修改同步,防止一名开发人员的修改覆盖其他人的成果。(check out、read only)
b、维护不同的版本。(按 version 查找)
c、可查找历史记录。防止 bug 的再引入。(diff)
CVS 为了解决这个问题,采用的方式是:
当开发人员对源代码进行修改时,修改的内容被登记(check in)到了 CVS 仓库(repository)中。仓库中保存了代码的主控副本,以及历次修改的历史信息。它不保存文件的每个版本,而只是简单的记录发生在每个版本间的不同,节省磁盘空间。它能做到:
a、使开发人员的目录和仓库保持一致。可以把自己的修改提交(commit)给仓库,让仓库更新自己。
b、允许代码派生。可以进行测试,如果失败,可以消除所做的修改,维持原结果。
c、检索任何一个版本。
相关推荐
RuoYi-Vue3(1).zip
multisim 仿真ADS8322仿真
guanyu
《系统分析和设计》课程作业——面向中国各大城市的医院预约挂号系统.zip
冲刺 初学Java时花费12天做的一款小游戏.zip
本文档详细的介绍了Access的一些函数;感兴趣的朋友可以过来看看
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
基于Simulink的三相逆变器用于电机驱动系统
sons
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
psql 是一个以终端为基础的 PostgreSQL 前端。它允许你交互地键入查询,把它们发出给 PostgreSQL, 然后看看查询的结果。另外,输入可以来自一个文件。还有, 它提供了一些元命令和多种类 shell 地特性来实现书写脚本以及对大量任务的自动化。感兴趣的朋友可以过来看看
DVD播放机行业:2023年全球DVD播放机行业收入高达4.79亿美元,潜力无限 在数字流媒体技术日新月异的今天,DVD播放机这一传统影音设备似乎已被时代遗忘。然而,事实并非如此。尽管流媒体服务如雨后春笋般涌现,但DVD播放机在全球市场依然保有庞大的存量规模,尤其在特定消费人群和特定需求领域中,其地位依然稳固。那么,在这个看似饱和的市场中,DVD播放机行业又将如何寻找新的增长点?专业咨询将成为您破局的关键。 市场概况: DVD播放机行业作为消费电子产业的重要组成部分,一直受到国家政策的鼓励和支持。近年来,随着《产业结构调整指导目录》、《超高清视频产业发展行动计划》等政策的出台,我国的制造创新与消费升级得到了有效推动,为DVD播放机行业的发展带来了广阔的市场空间。据统计,2023年度中国消费电子产品市场规模达到1.92万亿元,而全球DVD播放机行业收入也高达4.79亿美元。尽管数字流媒体的发展对传统DVD光盘影音播放造成了冲击,但在特定的市场环境及应用场景下,DVD光盘仍然拥有较大的消费基础。特别是便携式DVD播放机市场,在经过流媒体冲击后,近几年逐步趋于稳定,并在保有更大规模的存量市场
消防气压给水设备和稳压泵安装 分项工程质量验收记录表.docx
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
此配置可实现不同产品组的物料使用同一个销售范围的订单类型
内容概要:MPU-6000/6050 是一种集成了3轴陀螺仪和3轴加速度计的高性能集成运动处理单元 (MPU)。其采用 InvenSense 独特的 MotionFusion 技术,提供了强大的实时姿态识别和动作捕捉功能。文档详细描述了这两种产品的电气规格、设计参数和使用细节。特别是针对陀螺仪和加速度计的工作原理、分辨率、工作范围、功耗管理等技术要点做了详细介绍,并涵盖了 SPI 接口(仅 MPU-6000 支持)以及辅助 I²C 总线连接外部传感器的方法。同时,还提到了 ESD 处理和焊接规范等方面的内容,确保了在工业生产和应用中的稳定性和可靠性。 适用人群:电子工程师、硬件设计师及相关领域研究人员。 使用场景及目标:主要应用于智能手机、平板电脑、游戏控制器以及其他需要精准运动检测的设备。该产品旨在提升设备的动作感应精度,优化用户体验的同时降低成本。 其他说明:文档还包括详细的测试和认证流程,帮助用户更好地理解和评估该组件的实际性能,适合用于新产品的设计验证和技术调研。
视频课程下载——前端工程化实践
全国月尺度相对湿度数据集(1961-2022, 0.25° × 0.25°)是一个高分辨率的网格化相对湿度数据集,覆盖了中国大陆及周边地区。 该数据集通过科学方法整合气象观测和再分析数据,为气候研究、生态模型、农业生产、以及水资源管理等领域提供了重要支持。 数据下载后可显示详细信息。
SimSun.ttf 字体库下载 simsun字体是系统中必备的字体,其实很多朋友不知道simsun字体就是宋体,如果系统中没有这个字体的话,那么很多文字排版啥的都不太好看了。下载本站提供的simsun字体即可解决~
jingdian