1.linux与windows的区别
linux与xindows的区别还是很大的,高定制与几乎无定制windows只能看到外壳,而linux 你可以深入最底层(不怕重装可以尽管的试)
2. linux下程序开发环境与windows下的不同
windows下基本全是集成开发环境(简称IDE),即是把编辑器、编译器、调试器和图形用户界面工具集成到了一起的开发软件服务套,而linux下编辑器、编译器、调试器是分开的,a。先用文本编辑器(vim、emace)把源程序打进电脑,并储存到一个文本个文件;例helloworld.c
b。然后用gcc把这文本文件编译成可执行文件(即windows中的exe文件),
$ gcc -o helloworld helloworld.c
键入ls,你会看到目录中多了一个hello文件c。接着直接运行这个exe文件就可以了;./hello
3.编辑器的选择
linux下编辑器有好多种,其中vim和emace最为常见
VI追求的是速度——启动程序迅速,编辑文本高效,功能专注;
Emacs追求的是功能的丰富强大以及集成带来的方便,在Emacs里头可以发邮件,上新闻组,听mp3,浏览网页,玩游戏,几乎可以login->emacs->logout了;
4.编译器的选择
基本没得选择只能gcc
调用的函数不一样,编译的方法也不一样,其实windows编程的思路和linux就是不一样的,windows中除了算法基本就是消息处理了,linux不考虑消息处理。
linux使用vim编辑文件VC++用的是可视化编程,调用的函数都是API,也就是微软给你提供的好的函数,调用就行了;linux下有标准的函数,也需要你自己写很多函数。开放性更好一点。当然图形化的linux程序我没写过,没有发言权,是不是消息机制我不知道。
其实在linux编程的C++过程与VC++上的DOS更像,需要你写一个main函数,但VC++的windows编程不需要这个main函数。在windows上,点一个build就可以生成程序,但linux上要用命令行来完成程序的生成
但从c++的角度讲,没有什么区别。
Linux下不能使用windows中的相关函数,其他类似!
从c++语法角度讲没什么区别,只是两个系统提供的系统函数不同而已!linux环境下只能调用linux提供的函数,而windows环境下就只能调用windows提供的函数!
学习Unix常用的命令,ls,ll,cd,su,mkdir,cp,mv,rm -rf,Vim操作,安装CTags,TList插件。
学习MakeFile文件。
特别注意当前程序需要哪些.件,哪些lib文件。需要编译成什么文件。注意编译的路径就好了。
Svn操作。上传,下载,更新。主要是svn co,下载svn add 添加文件或者文件夹
svn info 查看信息
svn ci 提交修改
svn up 下载信息。
SecureCRT,putty。
lcd 变更本地路径。put 上传,get 下载。
shell脚本,sed,python
标题: 关于makefile
0) 介绍
本文将首先介绍为什么要将你的C源代码分离成几个合理的独立档案,什么时候需要分,怎么才能分的好。然后将会告诉你 GNU Make 怎样使你的编译和连接步骤自动化。对于其它Make 工具的用户来说,虽然在用其它类似工具时要做适当的调整,本文的内容仍然是非常有用的。如果对你自己的编程工具有怀疑,可以实际的试一试,但请先阅读用户手册。1) 多文件项目
1.1为什么使用它们?
首先,多文件项目的好处在那里呢?
它们看起来把事情弄的复杂无比。又要 header 文件,又要 extern 声明,而且如果需要查一个文件,你要在更多的文件里搜索。但其实我们有很有力的理由支持我们把一个项目分解成小块。当你改动一行代码,编译器需要全部重新编译来生成一个新的可执行文件。但如果你的项目是分开在几个小文件里,当你改动其中一个文件的时候,别的源文件的目标文件(object files)已经存在,所以没有什么原因去重新编译它们。你所需要做的只是重现编译被改动过的那个文件,然后重新连接所有的目标文
件罢了。在大型的项目中,这意味着从很长的(几分钟到几小时)重新编译缩短为十几,二十几秒的简单调整。只要通过基本的规划,将一个项目分解成多个小文件可使你更加容易的到一段代码。很简单,你根据代码的作用把你的代码分解到不同的文件里。当你要看一段代码时,你可以准确的知道在那个文件中去寻它。从很多目标文件生成一个程序包 (Library)比从一个单一的大目标文件生成要好的多。当然实际上这是否真是一个优势则是由你所用的系统来决定的。但是当使用 gcc/ld (一个 GNU C 编译/连接器) 把一个程序包连接到一个程序时,在连接的过程中,它会尝试不去连接没有使用到的部分。但它每次只能从程序包中把一个完整的目标文件排除
在外。因此如果你参考一个程序包中某一个目标档中任何一个符号的话,那么这个目标文件整个都会被连接进来。要是一个程序包被非常充分的分解了的话,那么经连接后,得到的可执行文件会比从一个大目标文件组成的程序包连接得到的文件小得多。又因为你的程序是很模块化的,文件之间的共享部分被减到最少,那就有很多好处——可以很容易的追踪到臭虫,这些模块经常是可以用在其它的项目里的,同时别人也可以更容易的理解你的一段代码是干什么的。当然此外还有许多别的好处……
1.2 何时分解你的项目
很明显,把任何东西都分解是不合理的。象“世界,你们好”这样的简单程序根本就不能分,因为实在也没什么可分的。把用于测试用的小程序分解也是没什么意思的。但一般来说,当分解项目有助于布局
、发展和易读性的时候,我都会采取它。在大多数的情况下,这都是适用的。(所谓“世界,你们好”,既'hello world' ,只是一个介绍一种编程语言时惯用的范例程序,它会在屏幕上显示一行'hello world' 。是最简单的程序。)如果你需要开发一个相当大的项目,在开始前,应该考虑一下你将如何实现它,并且生成几个文件(用适当的名字)来放你的代码。当然,在你的项目开发的过程中,你可以建立新的文件,但如果你这么做的话,说明你可能改变了当初的想法,你应该想想是否需要对整体结构也进行相应的调整。对于中型的项目,你当然也可以采用上述技巧,但你也可以就那么开始输入你的代码,当你的码多到难以管理的时候再把它们分解成不同的档案。但以我的经验来说,开始时在脑子里形成一个大概的方案,并且尽量遵从它,或在开发过程中,随着程序的需要而修改,会使开发变得更加容易。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论