找到 “编译” 相关内容 条
  • 全部
  • 默认排序

1. 从Hello World说起:程序是怎么变成可执行文件的?让我们从一个最简单的C程序开始:在Linux上,要让这段代码运行,我们需要用GCC把它变成机器能执行的程序。这个过程分为4步:预编译(hello.c → hello.i):处理#include等预处理指令编译(hello.i → hel

编译工具:gcc,GNU,MinGW,MSVC,make、cmake,Ninja

在嵌入式开发中,延时函数是基础操作。但面对μs级精度需求时,循环延时与定时器方案的抉择直接决定系统稳定性。1. 循环延时:裸机时代的遗产实现原理:通过空操作指令(如NOP)或自减循环消耗CPU周期。致命缺陷:精度波动>50%(受编译器优化、

单片机延迟方案:循环 VS 定时器

(本文编译自electronicdesign)在现代电气化世界中,继电器是一个至关重要的电子元件。它作为一种电控开关,具有控制系统(又称输入回路)和被控制系统(又称输出回路),被广泛应用于各类电气和电子系统中,从工业自动化设备,到日常使用的家用电器,都离不开继电器的身影。继电器通过低功率控制信号来控

交流和直流功率继电器在切换设计方面有何不同?

在嵌入式开发中,工具链的选择将直接影响到开发频率及项目质量,本文将聚焦于C语言的开发场景,按照学习者的学习进度推荐不同的工具,直接给出干货清单,以供技术参考。1、初学者快速入门①Keil MDK/IAR Embedded Workbench

嵌入式C语言开发工具怎么选?分阶段全推荐!

嵌入式软件开发需精准选择工具链。本文按学习阶段梳理核心工具,助你高效进阶。一、开发环境与集成开发工具(IDE)1.1 主流嵌入式IDE深度解析IntelliJ IDEA 2025核心优势:全面支持Java 24特性,Kotlin K2编译器

工程师必看:嵌入式软件开发工具全攻略

我是老温,一名热爱学习的嵌入式工程师关注我,一起变得更加优秀!__attribute__ 是一个编译器指令,其实是 GNU C 的一种机制,本质是一个编译器的指令,在声明的时候可以提供一些属性,在编译阶段起作用,来做多样化的错误检查和高级优化。用于在 C,C ,Objective-C 中修饰变量、

嵌入式 C 语言进阶,弱符号和弱引用分别是什么?

在C语言动态内存管理中,malloc(0)的行为长期困扰开发者。这个看似矛盾的调用——请求分配0字节内存——其返回值和处理方式在不同标准、编译器和操作系统中存在显著差异。本文将剥离技术迷雾,直击其核心行为逻辑。根据C语言标准文档:C89/C

malloc(0)多少?解析0字节分配!

当Python代码运行时,.py文件背后藏着个“快闪”的影子——.pyc文件。它不显山露水,却是程序加速的关键钥匙。本文剥开表象,直击.pyc的狭义技术本质。一、身份定义本质:.pyc是Python源代码编译后的字节码文件,非机器码,需Py

​ Python系统里的pyc文件有什么用?

嵌入式开发采用交叉编译的核心原因在于目标硬件平台与开发主机存在根本性的性能与环境差异,导致本地编译不可行。一、目标设备无法承担编译任务算力极度有限:嵌入式芯片(MCU/MPU)主频低、内存小,无法运行编译器这类重型计算软件。存储资源匮乏:编

嵌入式开发为何只能采用交叉编译?

头文件是C工程的骨架,糟糕的设计将导致编译膨胀、依赖混乱与维护地狱。一、核心守卫:杜绝重复包含传统宏守卫现代编译器指令二、内容规范:什么该进头文件必须放置函数声明(extern修饰)全局变量声明(extern修饰)宏定义类型定义(struc

C语言头文件:从混乱到清晰的工程之道