栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

基于linux的C语言基本概念

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于linux的C语言基本概念

C语言特点
  • 基础性语言、语法简洁(因为有指针)
  • 运算符、数据结构丰富
  • 结构化、模块化编程
  • 移植性好、执行效率高
  • 允许直接对硬件操作
学习方法
  • 知道正确的概念
  • 多动手
  • 阅读优秀程序段
  • 大量联系,刷题
  • 难点:数组、指针、函数三种组合,传指针函数、传函数指针;用指针指向数组中某一块空间来进行传参;
学习过程
  • 基本概念
  • 数据类型、运算符、表达式
  • 输入输出专题
  • 流程控制while、if、for等
  • 数组
  • 指针
  • 函数
  • 构造类型——结构体、枚举类型等构造出来的类型是实际环境中用的最多
  • 动态内存管理——自己定义需要多大空间,这段空间干什么
  • 调试工具+调试技巧(gdb、make)
    (1) gdb:程序出现段错误,如指针误操作、一块内存空间的误操作,调试程序中看不出来的错误,gdb跟踪,结合printf在某些特定位置检测特殊函数的返回值;(知道大概在哪出现错误,小范围中把代码装进gdb)
  • 常用库函数——已封装好的函数
    注:不同的编译器对于编译的同一份代码结果不同,在gcc编译环境下是一种情况,在其他编译器下结果又是另一种结果。
gcc与vim的使用
  • 编辑器vim的使用
    注:
    vi快捷方式——查看函数原型,在vim编辑器中,光标在目标函数下,shift+k即可以看到目标函数的所有内容,回到编辑器里——摁Q。
vim helloworld.c   //进入vim编辑器编写程序

  1. 常见main()函数表示;
void main(void);                //编译器不同,main函数返回值类型不同
void main(int argc,char**argv);//char*argv[]
int main(int argc,char**argv); //需要传参,用argc、argv接受命令行传参
int main(void);                //不需传参用此形式
  1. 构建一个c程序最少以函数为单位写程序,最少要用到main函数;
  2. 基本原则:先定义后使用,把变量定义在函数的声明位置,后面使用变量;
  3. .c源程序——预处理——编译——汇编——链接——可执行文件.out(嵌入式中写法)
  • 编译器gcc的使用
    gcc经过几步把.c源文件生成可执行文件:
    (1)预处理
    '#'开头的指令,均在预处理过程中解决
gcc -E helloworld.c  //预处理:gcc后加参数-E,附带源文件。后缀.c给gcc看,gcc在整个编译过程中会识别不同的后缀
gcc -E helloworld.c > helloworld.i  //把当前预处理结果做重定向保存,放入当前路径下的.i文件中,gcc识别后预处理的文件


(2)编译

gcc -S helloworld.i  //gcc对预处理后的.i文件进行编译,会生成.s的文件;用ls指令查看当前文件下的内容


(3)汇编

gcc -c helloworld.s  //gcc会对编译好的.s文件进行汇编,默认生成.o的目标文件


(4)链接

gcc helloworld.o -o hello  //生成可执行文件,-o后为可执行文件名


(5)运行可执行文件

./hello     //表示运行当前路径下的hello可执行程序
Helloworld  


总结gcc编译过程:
详细版

简易版:

gcc helloworld.c   //跳过细节直接生成a.out可执行文件
ls

gcc helloworld.c -o hello  //还可以通过gcc直接对helloworld.c源文件进行-o,生成可执行文件并且可执行文件名为hello
ls                  //查看当前文件下内容
./hello             //./下打印效果一样
Helloworld


make版:找到helloworld这个文件

make helloworld   //生成预定义好的变量名cc,默认是gcc;相当于gcc helloworld.c -o生成一个helloworld

编程注意问题
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/928274.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号