C语言之编译运行(c语言编译运行快捷键)
bigegpt 2025-03-25 11:16 8 浏览
一、编写C程序
- 创建源文件
使用文本编辑器(如VS Code、Notepad++、Sublime Text等)创建一个新文件,保存为 .c 后缀的文件,例如 hello.c。 - 编写代码
在文件中输入以下代码(经典的“Hello, World!”程序):
#include
int main() {
printf("Hello, World!\n");
return 0;
}
二、安装编译器
C语言需要编译器将源代码转换为可执行文件。常用的编译器是 GCC(GNU Compiler Collection)。
不同操作系统的安装方法如下:
1. Windows
- 安装MinGW(提供GCC工具链):
- 访问 MinGW官网 下载安装工具。
- 安装时勾选 mingw32-gcc 组件。
- 将MinGW的 bin 目录(如 C:\MinGW\bin)添加到系统环境变量 PATH 中。
- 打开命令提示符,输入 gcc --version 验证是否安装成功。
2. macOS
- 安装Xcode Command Line Tools:
- 打开终端,输入命令:
xcode-select --install
- 确认安装后,输入 gcc --version 验证。
3. Linux
- 大多数Linux系统已预装GCC。
若未安装,在终端输入(以Debian/Ubuntu为例):
sudo apt update && sudo apt install gcc
三、编译C程序
- 打开终端/命令提示符
- Windows:按 Win + R 输入 cmd。
- macOS/Linux:打开“终端”。
- 导航到源代码目录
使用 cd 命令切换到存放 hello.c 的目录。
cd Desktop/C_Projects # 示例:进入桌面上的C_Projects文件夹
- 执行编译命令
输入以下命令编译代码:
gcc hello.c -o hello
- gcc:调用编译器。
- hello.c:源文件名。
- -o hello:指定输出文件名为 hello(Windows会自动添加 .exe 后缀)。
编译成功:生成可执行文件 hello(或 hello.exe)。
编译失败:终端会显示错误信息,需根据提示修改代码。
四、运行程序
- 在终端中运行
- Windows:
hello.exe
或直接双击生成的 hello.exe 文件。
- macOS/Linux:
./hello
2.查看输出
终端会显示:
Hello, World!
五、常见问题及解决方法
1. 编译器未找到(如 gcc 命令无效)
- 原因:未正确安装GCC或未配置环境变量。
- 解决:
- 重新安装编译器(参考第二步)。
- 检查环境变量是否包含编译器的 bin 目录。
2. 代码语法错误
- 示例错误:
hello.c: In function 'main':
hello.c:5:5: error: expected ';' before 'return'
- 解决:根据提示的行号(如第5行)检查代码,修正语法错误(如漏写分号)。
3. 中文乱码(Windows)
- 原因:Windows终端默认编码为GBK,而代码文件保存为UTF-8。
- 解决:
- 在代码文件的开头添加:
#pragma execution_character_set("utf-8")
- 或改用支持UTF-8的终端(如VS Code内置终端)。
六、使用IDE简化流程(可选)
- 推荐工具:
- Visual Studio Code(安装C/C++扩展)。
- Code::Blocks、Dev-C++(适合Windows初学者)。
- Xcode(macOS)。
- 操作流程:
- 在IDE中新建C文件,编写代码。
- 点击“编译并运行”按钮(通常为 图标)。
- IDE会自动完成编译和运行,输出结果显示在控制台。
七、总结步骤
- 编写代码 → 保存为 .c 文件。
- 安装编译器(GCC)。
- 编译代码:gcc 文件名.c -o 输出名。
- 运行程序:根据操作系统执行生成的可执行文件。
相关推荐
- 【机器学习】数据挖掘神器LightGBM详解(附代码)
-
来源:机器学习初学者本文约11000字,建议阅读20分钟本文为你介绍数据挖掘神器LightGBM。LightGBM是微软开发的boosting集成模型,和XGBoost一样是对GBDT...
- 3分钟,用DeepSeek全自动生成语音计算器,还带括号表达式!
-
最近,大家慢慢了解到了DeepSeek的强大功能,特别是它在编程领域也同样强大。编程零基础小白,一行代码不用写,也能全自动生成一个完整的、可运行的软件来!很多程序员一直不相信小白不写代码也能编软件!下...
- python学习笔记 3.表达式
-
在Python中,表达式是由值、变量和运算符组成的组合。以下是一些常见的Python表达式:算术表达式:由数值和算术运算符组成的表达式,如加减乘除等。例如:5+3、7*2、10/3等。字符...
- 5.7 VS 8.x,为什么用户不升级MySql
-
一般来说为了更好的功能和性能,都需要将软件升级到最新的版本,然而在开源软件中,由于一些开发商变化或其他的问题(开源授权变化),致使人们不愿使用最新的版本,一个最典型的问题就是CentOS操作系统。还有...
- 大厂高频:讲一下MySQL主从复制
-
大家经常听说主从复制,那么主从复制的意义?能解决的问题有哪些?主从复制能解决的问题就是在我们平时开发的程序中操作数据库的时候,大多数的情况查询的操作大大超过了写的操作,也就说对数据库读取数据的压力比较...
- MYSQL数据库的五大安全防护措施
-
以技术为基础的企业里最有价值的资产莫过于是客户或者其数据库中的产品信息了。因此,在这样的企业中,保证数据库免受外界攻击是数据库管理的重要环节。很多数据库管理员并没有实施什么数据库保护措施,只是因为觉得...
- docker安装mysql
-
准备工作已安装Docker环境(官方安装文档)终端/命令行工具(Linux/macOS/WSL)步骤1:拉取MySQL镜像打开终端执行以下命令,拉取官方MySQL镜像(默认最新版本):d...
- Zabbix监控系统系列之六:监控 mysql
-
zabbix监控mysql1、监控规划在创建监控项之前要尽量考虑清楚要监控什么,怎么监控,监控数据如何存储,监控数据如何展现,如何处理报警等。要进行监控的系统规划需要对Zabbix很了解,这里只是...
- 详解MySQL的配置文件及优化
-
#头条创作挑战赛#在Windows系统中,MySQL服务器启动时最先读取的是my.ini这个配置文件。在Linux系统中,配置文件为my.cnf,其路径一般为/etc/my.cnf或/etc/mysq...
- Mysql 几个批处理执行脚本
-
学习mysql过程中,需要创建测试数据,并让多人每人一个数据库连接并进行作业检查。整合部分批处理创建数据批量创建数据库DELIMITER$CREATEPROCEDURECreateDatab...
- MySQL学到什么程度?才有可以在简历上写精通
-
前言如今互联网行业用的最多就是MySQL,然而对于高级Web面试者,尤其对于寻找30k下工作的求职者,很多MySQL相关知识点基本都会涉及,如果面试中,你的相关知识答的模糊和不切要点,基...
- mysql 主、从服务器配置“Slave_IO_Running: Connecting” 问题分析
-
#在进行mysql主、从服务器配置时,”SHOWSLAVESTATUS;“查看从库状态Slave_IO_Runing,出现错误:“Slave_IO_Running:Connectin...
- MYSQL数据同步
-
java开发工程师在实际的开发经常会需要实现两台不同机器上的MySQL数据库的数据同步,要解决这个问题不难,无非就是mysql数据库的数据同步问题。但要看你是一次性的数据同步需求,还是定时数据同步,亦...
- 「MySQL 8」MySQL 5.7都即将停只维护了,是时候学习一波MySQL 8了
-
MySQL8新特性选择MySQL8的背景:MySQL5.6已经停止版本更新了,对于MySQL5.7版本,其将于2023年10月31日停止支持。后续官方将不再进行后续的代码维护。另外,...
- Prometheus监控mysql
-
通过Prometheus监控Mysql,我们需要在Mysql端安装一个mysql-exporter,然后Prometheus通过mysql-exporter暴露的端口抓取数据。1.安装一个MYSQL配...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- resize函数 (64)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- mybatis大于等于 (64)
- xcode-select (66)
- mysql授权 (74)
- httperror403.14-forbidden (63)
- logstashinput (65)
- hadoop端口 (65)
- dockernetworkconnect (63)
- esxi7 (63)
- vue阻止冒泡 (67)
- c#for循环 (63)
- oracle时间戳转换日期 (64)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)