QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8675|回复: 22

linux编程的FAQ:

[复制链接]
发表于 2003-5-2 21:22:36 | 显示全部楼层 |阅读模式
(一)编程语言类:


C/C++

Q:推荐一门linux下的编程语言吧?
A:C/C++是系统级的语言,不论学什么编程这个知道一点是应该的(专门学  C/C++的就不用说了)。
   其他的看你要作那方面的东西了。比如说网络方面可以学Java。如果你想很快上手的话作出点东西的话可以试试python。

Q:怎么编译多个文件的项目?
A:可以写一个Makefile文件将它们串起来,通过make来编译。

Q:GCC中-c,-S,-E有什么区别和联系?
A:GCC对C的编译过程共分四步,它们按顺序分别是预处理,编译,汇编和链 接。
    -c 选项告诉 GCC 仅把源代码编译为目标代码而跳过汇编和连接的步骤。
    这个选项使用的非常频繁因为它使得编译多个 C 程序时速度更快并且更易于管理。
    缺省时GCC 建立的目标代码文件有一个 .o 的扩展名。-S 编译选项告诉
    GCC 在为 C 代码产生了汇编语言文件后停止编译。 GCC 产生的汇编语言 文件的缺省扩展名是 .s 。
    -E 选项指示编译器仅对输入文件进行预处理。

Q:linux下怎么对C++代码进行编译?
A:在终端里面用g++ 进行编译。比如你编写的hello.cpp文件,编译可以用  g++ -o hello hello.cpp

Q:程序里面有#include <math.h>编译出错,怎么回事?
A:要在连接的时候指定链结的库
   可以用:gcc xxx.c -o xxx -lm

Q:gcc 编译后的a.out如何执行?
A:可以用./a.out在终端执行。

Q:gcc的头文件库放在哪里的?
A:在/usr/include下面。

Perl

Q:什麽是 Perl?
Aerl 是一解译式的语言,专为高效率检视文字档案、从中抽取资料,数据。
  以印制报表而设计。

Q: Perl 应该安装在哪里才可以执行它?
A: Perl 可以安装在系统上任何一个角落!您唯一要注意的是 server
    不能在chroot 的环境下跑,否则它便无法跑 perl解译器。换言之,系统管理 者可以把根目录改变,
   让 “/”指到另一个目录,而不是实际真正的根目录(“/”)。

Q: linux命令行(终端)下如何运行perl程序?
A: 如果保存的名字是*.pl
    就用chmod +x 或 chmod u+x 后跟文件名

Q: 我为什么一直得到 “Server: Error 500” 的讯息?
A: 以下几种情形会触发这个错误讯息:
   (1) 如果 script 开头的地方没有“#!/usr/local/bin/perl”这个指到Perl   解译器的标头,
   或者是指到解译器(或 library 档)的路径错误。
   (2) 如果 script 输出的第一行是一个不正确的标头(即“Content-Type:
     text/html”),或者是该标头后面没有跟着一个空行。

Q: 我要如何在 UNIX 以外的平台上做 Perl-CGI,譬如 Mac、MS-DOS、
    Windows 及 NT?我的 Perl CGI程式能不能在这些平台之间互相移植呢?能不能很直接,没有麻烦?
A: Perl 已经被移植到上述所有的平台上了。因此,Perl CGI
    程式照理应不难移植。但如果您使用到一些 UNIX上的程式,那麽您的程式可能会不好移植。如果您只是做资料处理,
   或开启、读进档案等的话,那么移植应该不会有问题。
   

(二)编程工具类:

Q:在linux下有没有类似于TC的编程工具?
A:linux的vi和emacs都是不错的编辑器,它们各有千秋,具体用哪一个看你自 己的喜好了。

Q: 在XEmacs中如何使语法和括弧高亮显示?
A: 在Option菜单项里,选择Syntax Highlighting,然后选择Colors。然后回到Option菜单,
   选中Option->Syntax Highlighting,然后选中Most。在菜单里Option->
    Paren Highlighting,选择Expression。

Q: 在(X)Emacs中如何使用C的自动模式?
A: 按C-c C-a或者运行M-x c-toggle-auto-stat ENTER。

Q: 在(X)Emacs中如何编译程序?
A: 使用M-x compile,它的缺省命令是make-k,按回车则执行缺省命令。
   可以根据实际情况将编译命令改为:gcc -o filename filename.c
    来编译单个 C 文件。

关于kylix 3的FAQ请看:
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=19331
发表于 2003-6-5 15:31:11 | 显示全部楼层
good job!
回复

使用道具 举报

发表于 2003-6-16 17:10:17 | 显示全部楼层
emacs非常值得注意,功能实在强大。不过要一些lisp(elisp)基础,可惜我现在还不会。

希望看到更多相关的文章。
回复

使用道具 举报

发表于 2003-6-28 06:31:42 | 显示全部楼层

Re: linux编程的FAQ:

[quote:55743711ad="tuboshu"] (一)编程语言类:


C/C++

... ...

Q:GCC中-c,-S,-E有什么区别和联系?
A:GCC对C的编译过程共分四步,它们按顺序分别是预处理,编译,汇编和链 接。
    -c 选项告诉 GCC 仅把源代码编译为目标代码而跳过汇编和连接的步骤。
    这个选项使用的非常频繁因为它使得编译多个 C 程序时速度更快并且更易于管理。
    缺省时GCC 建立的目标代码文件有一个 .o 的扩展名。-S 编译选项告诉
    GCC 在为 C 代码产生了汇编语言文件后停止编译。 GCC 产生的汇编语言 文件的缺省扩展名是 .s 。
    -E 选项指示编译器仅对输入文件进行预处理。

... ...

[/quote]

不知道楼主是否把 -c 和 -S 弄反了:
-c 和 -S 都不进行链接,这一点是正确的
不过 -c 是生成汇编代码的, 而 -S 不生成汇编代码.
回复

使用道具 举报

发表于 2003-7-5 12:20:54 | 显示全部楼层
o
回复

使用道具 举报

发表于 2003-9-13 05:00:10 | 显示全部楼层
我很迷茫啊,怎么感觉perl是CGI里用的啊,现在PHP这么简单好用,还用PERL做什么啊?难道PREL除了用来写WEB程序,还能用来写应用程序?
回复

使用道具 举报

发表于 2003-10-25 11:14:14 | 显示全部楼层
怎么样打开GCC,GCC在哪里?请教我一下从新建文件到生成执行文件的过程????
谢谢!!!!!!!!!!!!!!!!!!!!!!
help!!!!!!!!!!!!!!!!!!!!!!!!!!   :neutral:
回复

使用道具 举报

发表于 2003-10-25 21:42:58 | 显示全部楼层
GCC是一个命令,你在命令行打GCC  你要编译的文件名 就可以使用了,linux自带的
回复

使用道具 举报

发表于 2003-12-19 01:06:59 | 显示全部楼层
[quote:912e3ff1f7="飘瓶噢噢"]GCC是一个命令,你在命令行打GCC  你要编译的文件名 就可以使用了,linux自带的[/quote]
注意大小写:
gcc 才是一个命令呢
GCC 是 GNU Compiler Collection 的意思(老的意思是 GNU C Compiler)
回复

使用道具 举报

发表于 2003-12-19 01:12:44 | 显示全部楼层

Re: linux编程的FAQ:

[quote:5e05b80771="xiaojun"][quote:5e05b80771="tuboshu"] (一)编程语言类:


C/C++

... ...

Q:GCC中-c,-S,-E有什么区别和联系?
A:GCC对C的编译过程共分四步,它们按顺序分别是预处理,编译,汇编和链 接。
    -c 选项告诉 GCC 仅把源代码编译为目标代码而跳过汇编和连接的步骤。
    这个选项使用的非常频繁因为它使得编译多个 C 程序时速度更快并且更易于管理。
    缺省时GCC 建立的目标代码文件有一个 .o 的扩展名。-S 编译选项告诉
    GCC 在为 C 代码产生了汇编语言文件后停止编译。 GCC 产生的汇编语言 文件的缺省扩展名是 .s 。
    -E 选项指示编译器仅对输入文件进行预处理。

... ...

[/quote]

不知道楼主是否把 -c 和 -S 弄反了:
-c 和 -S 都不进行链接,这一点是正确的
不过 -c 是生成汇编代码的, 而 -S 不生成汇编代码.[/quote]

你们都错了, -c 的意思是不连接
-S 是编译成汇编代码后就停止(当然就没连接了)

man gcc 就可以看到 -c 和 -S 的解释:
-c option says not to run the linker
-S  Stop after the stage of compilation proper; do not assemble.  The output is in the form of
           an assembler code file for each non-assembler input file specified.
回复

使用道具 举报

发表于 2003-12-19 01:19:09 | 显示全部楼层
[quote:c239e830fd="阿江"]我很迷茫啊,怎么感觉perl是CGI里用的啊,现在PHP这么简单好用,还用PERL做什么啊?难道PREL除了用来写WEB程序,还能用来写应用程序?[/quote]

Perl 除了编写 CGI 外还有广泛的用途.
Perl 具有强大的字符串处理能力, 目前在生物信息学界很受青睐.
Perl 还拥有完善的扩展库, 这点 PHP 就比不上了.

BTW: PHP 也是可以作为通用编程语言的, 不一定非用在 web programming 中, 目前在网络安全界也用得较多.
回复

使用道具 举报

发表于 2004-1-12 15:10:08 | 显示全部楼层
Perl在處理文件方面具有無可比擬的優越性,而Linux動不動就要處理大量的配置文件,所以Perl在Linux下的生命力可想而知.
回复

使用道具 举报

发表于 2004-3-19 13:25:23 | 显示全部楼层
可以使用visual slickedit编译环境,非常好的跨平台IDE,linux下和windows下的界面一致,类似vc++的界面,可以进行c c++ java makefile php perl python xml等多种语言的开发。
回复

使用道具 举报

发表于 2004-4-6 11:00:08 | 显示全部楼层
ding
回复

使用道具 举报

发表于 2004-4-9 00:33:04 | 显示全部楼层
perl可以用来写SDL游戏,不信?你的系统里说就定就装有perl-SDL。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 05:26 , Processed in 0.049091 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表