---恢复内容开始---

今天开始根据Linux C编程相关视频的学习所做的笔记,希望能一直坚持下去。。。

1、开发环境的构成

  编辑器:VI;

  编译器:选择GNU  C/C++编译器gcc;

  调试器:应用广泛的gdb;

  函数库:glibc ;

  系统头文件:glibc_header;

2、在安装Linux时需要注意事项

  在安装时选上“程序开发”中的“开发工具”,就可以自动安装gcc/gdb;

  若想开发图形界面,还需要选上GNOME/KDE软件开发。

3、IDE(集成开发环境:集编辑、编译、调试等功能于一身的工具)

  Kylix:号称Linux下的dephi;

  Kdevelop

  RHIDE:类似与Turbo C++

4、编译器:gcc(GNU CCompiler)

  是GNU推出的多平台编译器,以下是gcc支持编译的一些源文件的后缀及其解释

    .c后缀  c语言源代码文件

    .h后缀  是程序所包含的头文件

    .o后缀  是编译后的目标文件

例:gcc -o hello hello.c

  注:1、gcc编译我们的源程序;

    2、-o选项要求编译器给我们输出的可执行文件名为hello;

    3、hello.c是我们的源程序文件;
    4、执行./hello 就可以看到程序的输出结果

  查看gcc版本号:

gcc -version

5、函数库:glibc

  glibc是提供系统条用和调用函数的C库,如open,malloc,printf等

  查看glibc的版本:

ls /lib/libc-*

6、系统头文件:glibc_header

  缺少了系统头文件的话,很多用到系统功能的c程序将无法编译。

  假如用户在安装过程中少装了这些包,就无法编译c源程序,这时候可以通过rpm包来迅速安装Linux的C开发语言环境的。

7、Linux下C程序开发过程:

  (1)使用vi工具编辑写源程序;

  (2)保存为*.c;

  (3)使用gcc编译成二进制可执行文件;

  (4)./a.out执行(当gcc没有用-o选项指定可执行文件名时);

  (5)有问题可以使用gdb进行调试;

8、第一个程序:Hello.c

int main(int args,char **argv)
{
printf("Hello Linux\n");
return 0;
}

9、c程序组成

  对于一个c程序,安装完成后可以分成三个部分:

    可执行文件;包含文件;库文件

    比如用rpm安装的MySQL数据库:

      (1)可执行文件放在/usr/bin下;

      (2)包含文件放在/usr/include/mysql下;

      (3)库文件在/usr/lib/mysql下;

    

对于在linux环境下编写第一个c 程序在:http://www.cnblogs.com/zl-graduate/diary/2016/06/24/5615433.html

---恢复内容结束---

最新文章

  1. C++ 模拟Map
  2. 最全面的常用正则表达式大全 zz
  3. .NET 开发快捷键大全
  4. 一个巧妙的实现悬浮的tableViewHeader的方法
  5. 【caffe】未定义函数或变量caffe_
  6. github page 构建自己的页面
  7. Golang-interface(四 反射)
  8. webservice取文件修改时间,返回1601/1/1 8:00:00
  9. MySQL 优化方案
  10. Repeater 无刷新分页
  11. MiniGUI文档参考手册 基于v1.6.10文本
  12. 妈妈再也不用担心我的移动端了:网易和淘宝的rem方案剖析
  13. Asteroids!-裸的BFS
  14. STL - miltimap(可重映射)
  15. Git的操作方法
  16. 关于ListBox在Grid中无法充满的问题
  17. mysql常用修改创建语句
  18. Eclipse集成weblogic教程
  19. linux开机出现一下错误Give root password for maintenance (or type Control-D to continue):
  20. 乘风破浪:LeetCode真题_028_Implement strStr()

热门文章

  1. [SCOI2008]奖励关 - 状压动规 - 概率与期望
  2. msp430入门编程10
  3. Codeforces Round #489 (Div. 2) B、C
  4. [bzoj4827][Hnoi2017]礼物_FFT
  5. Spring MVC中的拦截器/过滤器HandlerInterceptorAdapter的使用
  6. Vue.js父子通信之所有方法和数据共享
  7. sdfs
  8. struts2学习笔记(二)—— 获取登录信息及计算在线人数
  9. hdu5371 Hotaru's problem
  10. git fetch 和 git pull 的差别