1.查看系统GCC版本
windows
win+r
cmd
gcc -v
ubuntu
ctrl + alt + t
gcc -v
2.环境变量添加
我的电脑 → 属性 → 高级系统设置 → 环境变量
3.GCC编译源文件
编译命令
main.c → main.exe
gcc main.c -o [
main].exe
默认生成文件名 a.exe
4.GCC编译过程
预处理 .i → 编译 .s → 汇编 .o → 链接
预处理:宏替换、头文件包含、条件编译
编译:生成汇编文件
汇编:生成二进制文件
链接:+库函数+启动代码生成可执行文件
gcc
-
E main.c -o main.i
gcc -S main.i -o main.s (语法检查)
gcc -c main.s -o main.o
gcc main.o -o main.exe
5.VS
文件 → 新建 → 项目(Ctrl + Shift + N) → 空项目(项目名、路径)
源文件 → 新建项(Ctrl + Shift + A) → 文件名 main.c
6.main.c
-
// 头文件:该函数存在,此处通过编译
-
#include<stdio.h>
-
// std stand 标准 i input 输入 o output 输出
-
// 主函数:一个项目,有且只有一个
-
// 可执行文件运行时,自动调用主函数
-
// main返回值类型整型(形参)
-
int main( int argc, char * argv[])
-
// 函数体
-
{
-
// F12 查看定义 Ctrl + - 返回
-
// 每条语句以;结束
-
printf( "hello word\n" );
-
// 函数返回值,后面内容不执行
-
return 0;
-
}
7.注释
块注释(不要嵌套)
/*
... ...
*/
行注释
// ... ...
8.system("
pause")
以字符串的方式调用Windows系统命令
ping 测试网络
calc 计算器
mspaint 画图板
pause 请按任意键继续...
-
#include<stdio.h>
-
#include<stdlib.h>// 标准库头文件
-
int main( int argc, char *argv[])
-
{
-
printf( "hello word\n" );
-
system( "pause" );
-
return 0;
-
}
9.VS遇到ruturn 0; 自动退出终端
-
#include<stdlib.h>
-
system( "pause" );
10.VS快捷键
Ctrl + K,Ctrl+F
|
自动格式化代码
|
Ctrl + K,Ctrl+C
|
注释代码
|
Ctrl + K,Ctrl+U
|
取消注释代码
|
F9
|
设置断点
|
F5
| 调试运行 |
Ctrl + F5
|
不调试运行
|
Ctrl + Shitf + B
|
编译,不运行
|
F10
|
Next 逐过程调试
|
F11
|
Step 逐语句调试(进入函数)
|
11.VS的4996错误
C4996
'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
-
#define _CRT_SECURE_NO_WARNINGS// 防止4996错误
-
#pragma warning(disable:4996)// 防止4996错误
-
#include<stdio.h>
-
#include<stdlib.h>
-
#include<string.h>
-
int main( int argc, char * argv[])
-
{
-
char buf[32] = "" ;
-
strcpy(buf, "hello word\n" );
-
printf( "buf = %s" , buf);
-
system( "pause" );
-
return 0;
-
}
12.VS代码片段
工具 → 代码片段管理 → 导入.snippet文件
-
#c_main_template.snippet
-
<?xml version= "1.0" encoding= "utf-8" ?>
-
<CodeSnippet Format= "1.0.0" >
-
<Header>
-
<Title>#c_main_template</Title>
-
<Shortcut>#c1</Shortcut>
-
<Description>c main template </Description>
-
<Author>Pengcheng Zhang</Author>
-
<SnippetTypes>
-
<SnippetType>Expansion</SnippetType>
-
<SnippetType>SurroundsWith</SnippetType>
-
</SnippetTypes>
-
</Header>
-
<Snippet>
-
<Code Language= "cpp" ><![CDATA[#define _CRT_SECURE_NO_WARNINGS
-
#include <stdio.h>
-
#include <stdlib.h>
-
#include <string.h>
-
-
int main( int argc, char *argv[])
-
{
-
system( "pause" );
-
return 0;
-
}
-
]]>
-
</Code>
-
</Snippet>
-
</CodeSnippet>
-
</CodeSnippets>