C语言学习篇-1Hello, World!(编写、编译、链接、运行)
来源:互联网 发布:淘宝网电动三轮车 编辑:程序博客网 时间:2024/06/04 19:58
说明:初识第一个程序。
开发工具的选择
- 写代码的工具:记事本、ULtraEdit、Vim、Xcode等。
- 选择Xcode的原因:苹果公司官方提供的开发利器、简化开发的工程、有高亮显示功能。
代码编写
- 程序结构
- C程序的结构:由函数组成。
任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”。所以,你可以说C语言程序是由函数构成的。 - 函数的概念
函数名:一个程序中由无数个函数组成,每个函数都有自己的名称。
调用(执行)函数:根据函数名就可以调用对应的函数,执行相应的功能。 - C程序的入口
C程序的入口为main函数,每个C程序一开始都是从main函数开始执行,不管整个程序中有多少个函数,都是先执行执行main函数。 - 编写程序
编写main函数,大括号{}中的内容
#include <stdio.h>//系统头文件int main() { printf("Hello, World!\n");//调用系统函数printf输出Hello, World! return 0;}
编译
- 编译:将C源程序译为计算机能够识别的0和1。
- 编译器:Xcode3使用的编译器是gcc编译器,而在Xcode4之后版本中,Xcode所使用的编译器已经替换成为新的LLVM编译器。LLVM编译器的前端是clang。
- 如何编译?
Xcode中使用Command+B快捷键或者单击Product中的Build进行编译,也可以在终端中cd到当前目录,输入cc -c 文件名.c。如果没有错误,编译成功后会生成.o文件。 - 编译器的错误和警告功能
- 如果有语法问题,编译器会直接报错,并指出错误的个数和错误所在行号。
- 只要有一个错误,程序就不会编译成功,也不会生成.o文件
- 警告信息只是编译的一些建议,并不影响编译通过。
链接
- 链接的作用:将.o文件和C语音函数库组合在一起,生成可执行文件。
- 链接由链接器完成,clang编译器里面已经包含了链接指令。
终端输入cc 文件名.o。链接成功,会生成.out可执行文件。
运行
- 如何运行?
- 直接双击打开.out文件。
- 终端使用./a.out指令。
- Xcode使用快捷键Command+R或单击Product中的Run运行。
总结
- 整个程序的运行过程:编写程序->源代码->编译->目标代码->链接->可执行的机器代码->运行。
- 扩展名
- .c文件是C语音源文件,在编写的时候创建。
- .o文件是目标文件,在编译成功后产生的。
- .out文件是可执行文件,在链接成功后产生的。
- 指令
- 编译:cc -c xx.c
- 连接: cc xxx.o
- 编译、连接:cc xxx.c
- 运行可执行文件: ./a.out
- 更改可执行文件的名称:cc xxx.o -o xxx
练习
1.在控制台打印出Hello, World! 答案
0 0
- C语言学习篇-1Hello, World!(编写、编译、链接、运行)
- D语言学习笔记(1)——编译和运行环境以及“Hello World”
- C语言学习2:Windows通过命令行编译运行c程序(Hello World)及程序详解
- C语言编写cgi程序hello world
- hello world---编译链接
- C语言练习篇-1Hello, World!
- c编写hello world
- C语言学习之1(Microsoft Visual Studio即VC6软件的安装及hello world 简单例子编写)
- 快速学习C语言一: Hello World
- C语言学习一hello world程序
- IOS学习笔记04---编写第一个C语言程序-Hello World
- C语言hello world
- C语言Hello world
- C语言 Hello World
- COBOL语言编写<hello world>
- 在ubuntu下编写 hello world c语言
- 编写第一个C语言程序-Hello World
- Linux下编写第一个c语言程序hello world
- 如何制作python安装包 setup.py
- 顺序表应用6:有序顺序表查询
- 【转载】80 多个 Linux 系统管理员必备的监控工具
- malloc/free、new/delete
- Dubbo源码学习之知识点分析(续)
- C语言学习篇-1Hello, World!(编写、编译、链接、运行)
- android httpclient 设置超时
- 算法菜鸟Leetcode之旅-1
- hive的学习笔记2-hive源码的编译
- ListView优化整理
- Scala隐式转换之隐式参数(1)
- 开始写blog了
- html5--canvas学习
- 关于PDB与DLL