最近在网上找了些视频,自学了一点Linux环境下,C编程的方法。

注 vi与vim是有区别的,vim打开的源码文件其中的关键字是有颜色的。

vi编辑器有3种模式,命令行模式,插入模式,底行模式。

如果是第一次使用vi,建议自学操作一边这样学的会牢些。在Linux终端里直接输入vim即可(此时没有给该文件命名,)进入后会看到些信息,按I(insert)建即可,此时为插入模式,在里面敲那些代码就OK了,如果想退出插入模式,按esc键,此时计入命令行模式,其中有些简单的复制(yy),粘贴(p),删除命令(dd)。如果想复制连续的几行怎么办呢,[n]dd此命令是复制从光标数下面的n行。随便打些字母熟悉下命令。麻烦的事情又来了,怎么保存呢 ,怎么退出呢?首先需要进入底行模式,进入的方法是打个冒号就ok,在最底行有冒号显示就ok了,然后就能输入底行模式下的命令了,wq的意思就是保存并且退出+filename就是你要保存的文件名字。如果不想保存文件怎么办呢,那就强硬点直接q!命令就能退出了。

int main()

{

printf("hello world!!/n")

}

gcc工具其实和window界面下的编译工具差不多,只是这里用到的是命令行。在vi编辑器中打好程序后,保存为.c文件,然后用 gcc -o filename filename.c 命令执行,如果程序没有错误 ls 在该目录下可以看到filename一个可执行的文件,如果想看到hello world 执行这个可执行文件就ok了,用./命令执行。

注,如果,想用gdb调试工具的话,命令需要修改, gcc -g -o filename filename.c就可以用了,其中还有部分gcc命令没有给出,清参考

-c                  只是编译不连接,生成目标文件.o

-S                  只编译不汇编生成汇编代码

-E                  只进行预编译,不做其他处理

-g                  在可执行程序中包含标准的调试信息

-o file             把文件输出到file里

-v                  打印出编译内部编译个过程的命令行信息和编译的版本

-l dir              在头文件的搜索路径列表中添加dir

-L dir              在库文件的搜索路径的列表中添加dir目录

-static             连接静态库

-library            连接名为library的库文件

最新文章

  1. php扩展memcached和memcache的安装配置方法:转载
  2. wordpress 获取特色图片url方法
  3. [百度地图] ZMap 与 MultiZMap 封装类说明;
  4. 13. javacript高级程序设计-事件
  5. SSRF攻击实例解析
  6. 用javascript 面向对象制作坦克大战(二)
  7. VC 设置 Stack Overflow
  8. asp.net分页控件库
  9. 我也要这样写define、、
  10. Android开发编码规范(自用)
  11. UIAlertController的创建以及添加
  12. Oracle 中的Pivoting Insert用法
  13. MySql 取一天的开始时间和结束时间
  14. EBS OAF 开发中的OAMessageRadioGroup控件
  15. POJ 2125 Destroying The Graph 二分图 最小点权覆盖
  16. C#版 - HDUoj 5391 - Zball in Tina Town(素数) - 题解
  17. git http服务免登录实现(免去每次请求用户名密码输入,Visual Studio可用)
  18. ionic3自定义android原生插件
  19. SLAM入门之视觉里程计(3):两视图对极约束 基础矩阵
  20. app前端代码打包步骤

热门文章

  1. 24、ASP.NET MVC入门到精通——数据库仓储
  2. 20161117__安装Qt5.3.2
  3. windows编程:画线,简单的碰撞检测,简单的帧率锁定
  4. 【原创】Matlab.NET混合编程技巧之直接调用Matlab内置函数
  5. hmt5初学小技巧
  6. 避免jQuery名字冲突--noConflict()方法
  7. [Hibernate] - one to many
  8. 你知道HTML标签设计的本意吗? 把HTML标签用到该用的地方去
  9. c# 图片简单模糊 非高斯模糊
  10. Android得到一个闹钟在第三方
  11. nodejs中使用递归案例
  12. SpringCache缓存初探
  13. 微信小程序 - 自定义创建
  14. 并发编程(三):从AQS到CountDownLatch与ReentrantLock
  15. iOS关于时间的处理
  16. 拆系数FFT
  17. 学习笔记 07 --- JUC集合
  18. Nginx隐藏主机信息,proxy_hide_header 与fastcgi_hide_header
  19. HDU 4614 Vases and Flowers(线段树+记录区间始末点或乱搞)
  20. 更改"xxxx" 的权限: 不允许的操作