当前位置:  技术问答>linux和unix

请大家指教!

    来源: 互联网  发布时间:2015-09-17

    本文导语:  我刚刚开始学习Linux,对他的基本操作有了大概得了解!但是我现在想再linux下进行编程,对此我还是不太了解,大家能不能介绍给我一本学习再Linux下编程的书籍!还有我对灾Linux下的编程过程不太清楚,比如在那里写...

我刚刚开始学习Linux,对他的基本操作有了大概得了解!但是我现在想再linux下进行编程,对此我还是不太了解,大家能不能介绍给我一本学习再Linux下编程的书籍!还有我对灾Linux下的编程过程不太清楚,比如在那里写程序,在哪里编译,怎么调试……谢谢大家了!

|
linux编程,其实和其他平台(像windows)没有什么不同,

    VC有集成开发环境(IDE),其实最后还是在调用命令行的cl.exe和link.exe编译器。只不过cl的命令行选项都由IDE生成(当然你要在setting中用鼠标或键盘去选择和设置),并有一个源代码编辑器。那么linux下的编程基本工具就是gcc(叫做GNU Compiler Collection : gnu编译器集合),它是一个编译器(绝对是我见过最强大的编译器,以后自己慢慢体会吧),所以你要学好gcc编程,必须要学好它的命令行接口(选项),当然linux也提供了一个集成开发环境叫“kdevelop”,可以完成自动创建项目(如makefile等),创建源文件和部分函数(如:main函数),然后进行编译(自动生成gcc命令行)。不过传统的unix程序员过去是不使用什么集成开发环境的,他们用 “编译器+编辑器+调试器“的模式来开发程序,这种方式我也比较喜欢,一个是因为我是一个怀旧的人,另一个原故是因为每一个细节都在自己的掌握之下。关键是你要选好编辑器。常见的组合为:
gcc+vi+gdb
gcc+emacs+gdb(我使用,因为I like emacs :-))
kdevelop+ddd
kdevelop+dbx
其它扩展一下还有
gcc+vi+gdb+make
gcc+emacs+gdb+make

|
哦,忘了说怎么编译了,举个例子吧,详细的你可以去看man gcc :-)

gcc -Wall -g -o myapp -I/usr/include -I/home/mydir/include -L/usr/lib -L/lib -lc -lm -lstdc++ -lpthread myapp.cpp

我解释一下:
-Wall告诉gcc输出所有等级的警告消息,
-g告诉gcc可执行程序内部生成供调试器使用的调试信息
-o告诉gcc生成可执行文件名为myapp
-I(两个)选项,为gcc添加两个额外的头文件搜索目录/usr/include和/home/mydir/include,
-L(两个)选项,为gcc添加两个额外的库文件搜索目录/usr/lib和/lib,
-l选项指定连接4个动态或静态库:libc(c运行库),libm(数学函数库),libstdc++(C++标准函数库),libpthread(linux POSIX线程库)

myapp.c表示输入的c++原文件.

|
对编程而言,linux只是一个环境,和任何系统都一样。每个系统都有每个系统的编译工具。
交你个简单的c程序的helloworld.

创建一个文件helloworld.c,将下面内容写进去。
#include
main()
{
  printf("helloworldn");
}

然后运行命令:gcc helloworld.c -o hello

|
 机械工业出版社

|
顶楼上的,偶推荐你看《the unix programming environment》。

|
 不错

|
在命令行中输入vi ,就可进行编译了,
然后再用gcc工具进行调试

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 哪位装过lindows的,请指教指教,提供相关资料也感激不尽
  • 啊,小弟想用java做一个game,很简单那种网络飞机类game,不知道java 在图形方面的能力如何?请大虾指教指教.
  • Linux的DNS正向成功,反向解析失败,望指教!
  • 学JAVA,请指教!
  • 做过音频采集的请指教
  • 逻辑地址、物理地址、线性空间、全局段、局部段 问题请教,高手指教了!!!!在线等,高手指教了!!!在线等!!!!!!!!
  • 怎么设置在Linux上面设置WEB服务器?请各位高手指教!!!
  • 用过jsp的朋友,请你们指教指教小弟。100分,对好的建议还可以加分
  • 简单问题,请指教
  • 求最容易理解,最容易上手的java书籍,servlet书籍,请指教,谢谢!!
  • 我是刚来的,不知道怎么给分,请指教。
  • 关注******软件开发的方向******大家讨论、指教!
  • 学JAVA,请指教! iis7站长之家
  • session里面可以放整型数吗?大虾请指教!!!
  • 想学LINUX,请指教!
  • 学linux和开发linux有什么样的联系呢?请指教!!
  • 各位前辈请指教!!
  • 怎么创建这样一个文件???有分送,请指教
  • JBUILDER6下控件都不能显示中文吗?请指教该怎么解决
  • 没有软区能装linux么??谢谢大虾指教!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3