Welcome![Sign In][Sign Up]
Location:
Search - GCC S

Search list

[Documents关于linux下文件编译的方法

Description: 摘 要: 本文主要阐述了关于linux下文件编译的方法以及vim编辑器的配置,并介绍了linux下热门开发工具。 关 键 词: vim配置与使用;linux文件编译;linux下热门开发工具 引 言: 1.一般拿到新的服务器都需要自己配置一下vim的环境,要不觉得总是不是很顺手。本文介绍了vim的基本配置以及一些个性化配置,用户可根据自己喜好及习惯自由配置;2.介绍了Linux文本编译的常用编译命令选项和多源文件编译方法,使读者对linux下文件编译有一个直观的了解;3.介绍了常用linux下开发工具,新手可参考使用;4.实验总结。 一. VIM的配置与使用 1. 基本设置 set nocp:该命令指定让 VIM 工作在不兼容模式下。在VIM之前,出现过一个非常流行的编辑器vi。VIM 许多操作与 vi 很相似, 但也有许多操作与 vi 是不一样的。 如果使用“:set cp”命令打开了兼容模式开关的话, VIM 将尽可能地模仿 vi 的操作模式。例如:VIM里允许在 Insert 模式下使用方向键移动光标,而vi里在Insert 模式下是不能移动光标的, 必须使用 ESC退回到 Normal 模式下才行。再举一个例子,vi 里使用 u 命令可以撤消一次先前的操作,再次按下u时,将撤消“撤消”这个动作本身,也就是我们常说的“重复”(redo)。而VIM里可以使用u命令撤消多步操作,“重复”使用的快捷键是 Ctrl+ R。使用兼容模式后。VIM将放弃这些新的功能,尽量模仿vi的各种操作方式。只有在不兼容模式下, 才能更好地发挥 VIM 自身的特点。 set ru: 该命令打开VIM的状态栏标尺。默认情况下,VIM的状态栏标尺在屏幕底部,它能即时显示当前光标所在位置在文件中的行号、列号,以及对应的整个文件的百分比。打开标尺可以给文件的编辑工作带来一定方便。 set hls:搜索时高亮显示被找到的文本。 set is:搜索时在未完全输入完毕要检索的文本时就开始检索。 syntax on:打开关键字色。 set backspace=indent,eol,start 设想这样一个情况:当前光标前面有若干字母,按下i键进入了Insert模式,然后输入了3个字母,再按5下删除(Backspace)。默认情况下,VIM仅能删除新输入的 3 个字母,然后喇叭“嘟嘟”响两声。如果“set backspace=start”,则可以在删除了新输入的3个字母之后,继续向前删除原有的两个字符。再设想一个情况:有若干行文字,把光标移到中间某一行的行首,按i键进入Insert模式,然后按一下Backspace。默认情况下, 喇叭会“嘟”一声,然后没有任何动静。如果“set backspace=eol”,则可以删除前一行行末的回车,也就是说将两行拼接起来。当设置了自动缩进后, 如果前一行缩进了一定距离, 按下回车后,下一行也会保持相同的缩进。默认情况下,不能在 Insert 模式下直接按Backspace删除行首的缩进。如果“set backspace=indent”,则可以开启这一项功能。 上述三项功能, 可以选择其中一种或几种,用逗号分隔各个选项。 set whichwrap=b,s,,[,] 默认情况下,在VIM中当光标移到一行最左边的时候,继续按左键,光标不能回到上一行的最右边。同样地,光标到了一行最右边的时候,不能通过继续按右跳到下一行的最左边。但是,通过设置 whichwrap 可以对一部分按键开启这项功能。如果想对某一个或几个按键开启到头后自动折向下一行的功能,可以把需要开启的键的代号写到 whichwrap 的参数列表中,各个键之间使用逗号分隔。以下是 whichwrap 支持的按键名称列表: b 在 Normal 或 Visual 模式下按删除(Backspace)键。 s 在 Normal 或 Visual 模式下按空格键。 h 在 Normal 或 Visual 模式下按 h 键。 l 在 Normal 或 Visual 模式下按 l 键。 > 在 Normal 或 Visual 模式下按右方向键。 ~ 在 Normal 模式下按 ~ 键(翻转当前字母大小写)。 [ 在 Insert 或 Replace 模式下按左方向键。 ] 在 Insert 或 Replace 模式下按右方向键。 2. 文本编辑设置 set sw=4:自动缩进的时候, 缩进尺寸为 4 个空格。 set ts=4:Tab 宽度为 4 个字符。 set et:编辑时将所有 Tab 替换为空格。该选项只在编辑时将 Tab 替换为空格,如果打开一个已经存在的文件,并不会将已有的Tab 替换为空格。如果希望进行这样的替换的话, 可以使用这条命令“:retab”。 3. 断行设置 set lbr:不在单词中间断行。设置了这个选项后,如果一行文字非常长,无法在一行内显示完的话,它会在单词与单词间的空白处断开,尽量不会把一个单词分成两截放在两个不同的行里。 set fo+=mB:打开断行模块对亚洲语言支持。m表示允许在两个汉字之间断行,即使汉字之间没有出现空格。B表示将两行合并为一行的时候,汉字与汉字之间不要补空格。该命令支持的更多的选项请参看用户手册。 二. Linux文件编译 1. 常用编译命令选项 假设源程序文件名为test.c。 (1).无选项编译链接 用法:#gcc test.c 作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。 (2). 选项 –o 用法:#gcc test.c -o test 作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。 (3). 选项 –E 用法:#gcc -E test.c -o test.i 作用:将test.c预处理输出test.i文件。 (4). 选项 –S 用法:#gcc -S test.i 作用:将预处理输出文件test.i汇编成test.s文件。 (5). 选项 –c 用法:#gcc -c test.s 作用:将汇编输出文件test.s编译输出test.o文件。 (6). 无选项链接 用法:#gcc test.o -o test 作用:将编译输出文件test.o链接成最终可执行文件test。 (7). 选项-O 用法:#gcc -O1 test.c -o test 作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。 2. 多源文件的编译方法 如果有多个源文件,基本上有两种编译方法: [假设有两个源文件为test.c和testfun.c] (1).多个文件一起编译 用法:#gcc testfun.c test.c -o test 作用:将testfun.c和test.c分别编译后链接成test可执行文件。 (2).分别编译各个源文件,之后对编译后输出的目标文件链接。 用法:#gcc -c testfun.c //将testfun.c编译成testfun.o #gcc -c test.c //将test.c编译成test.o #gcc -o testfun.o test.o -o test //将testfun.o和test.o链接成test 以上两种方法相比较,第一中方法编译时需要所有文件重新编译,而第二种方法可以只重新编译修改的文件,未修改的文件不用重新编译。 (3). 如果要编译的文件都在同一个目录下,可以用通配符gcc *.c -o 来进行编译。 三. Linux下的热门开发工具 1、Bluefish Bluefish是进行Web开发时最受欢迎的IDE之一。它能够处理编程和标记语言,但是该工具的重点用途在于创建动态和交互式网站。和许多Linux应用程序一样,Bluefish是一个轻量级工具,运行速度非常快,它所占据的资源只有同类工具的30%到40%。Bluefish可以一次打开多个文档(最高可打开3500个文档)。它包含项目支持、远程文件支持、搜索和替换(包括正则表达式),无限撤消/重做、多语言定制语法高亮、窗口反斜线文本和多编码支持等功能。 Bluefish最漂亮的功能之一是用户定义工具栏Quickba,它可以让你通过“右键点击并选择增加到Quickbar”的方式来增加按钮。你可以增加任意HTML工具栏按钮到Quickbar上。Bluefish还有许多操作简化工具,可以帮助你增加不同元素到你的代码中。需要一个DHTML自动提交选择框?简单。从DHTML下拉列表中选择“自动提交选择框(Auto-submit Select Box )”,然后填充必要的条目,就可以增加该元素到你的代码中。Bluefish有针对C、Apache、DHTML、DocBook、HTML、PHP+HTML和SQL的智能向导。如果是手动开发自己的网站,你应该选择使用Bluefish这个工具。 该工具主页:http://bluefish.openoffice.nl/ 2、Anjuta Anjuta是一个免费的开源C和C++开发工具。它的安装非常简单(在Mandriva上使用urpmi anjuta命令),提供项目管理、应用程序向导、交互式调试器、一个强大的源代码编辑器(支持源浏览、代码完成和语法高亮功能)。Anjuta团队开发的这个强大IDE非常易于使用,而且可以满足你的C和C++编程需求。 Anjuta具有一个灵活而强大的用户界面,让你可以在布局界面中拖拽工具来安排图形用户界面,使其与你希望的设计最接近。而且每一个用户配置的布局对一个项目来说是可以持续生存的(因此你可以为每一个项目使用不同的布局)。Anjuta还具有一个强大的插件系统,通过它你可以选择激活或关闭哪一个插件。而且与所有开源项目一样,你可以为Anjuta开发满足你自己需求的插件。在Anjuta应用程序中最大的工具之一是项目管理器。这个工具几乎可以打开任何基于automake/autoconf的项目。这个项目管理器不会增加任何基于Anjuta的信息到这个项目中,因此在Anjuta之外,你的项目同样可以被维护和开发。 该工具的主页:http://anjuta.sourceforge.net/ 3、Glade Glade是一个GNOME桌面环境下用于开发GTK+的RAD(迅速应用开发)工具。它的界面与GIMP非常类似,可以被用户进行定制化,甚至可以被嵌入到Anjuta中。 Glade包含许多界面创建控件,诸如文本框、对话标签、数字输入框和菜单等,让你可以更快速的开发界面。界面设计以XML格式存储,从而让这些设计可以被轻松的应用于外部工具中。 安装Glade的过程非常简单。举例来说,如果你使用Fedora操作系统,你可以使用命令“yum install glade3”来启动安装。Glade不像Anjuta一样具有一个强大的项目管理器,但是你可以在Glade中创建、编辑和保存项目。 该工具的主页:http://glade.gnome.org/ 四.实验总结 通过对VIM编译器与Linux编程的学习,初步了解使用Linux进行文件编译,对VIM也有了基本的了解。实验中遇到问题能通过与同学讨论或上网查阅基本解决。这次实验使我体会到了Linux的深奥,使我对Linux产生了浓厚的兴趣,虽然现在不能做到对Linux相当熟悉,但以后一定会努力对Linux进一步了解。 参考文献 中国网管联盟 www.bitsCN.com Linux 开发环境必备十大开发工具 2009 雨林木风系统门户 www.ylmf.net Linux文件编译方法及Linux多文件
Platform: | Size: 10923 | Author: 415181654@qq.com | Hits:

[OtherARM教程

Description: 关于ARM汇编的非常好的教程,让你快速进入入门。值得一看。-It s a turorial for ARM assembler programming. It s worth reading to induct beginner to grasping knowledge.
Platform: | Size: 812032 | Author: 刘欢 | Hits:

[ELanguagetinycc.tar

Description: c语言编译器arm-gen.c asmtest.S bcheck.c boundtest.c c67-gen.c Changelog coff.h configure COPYING elf.h [examples] float.h gcctestsuite.sh i386-asm.c i386-asm.h i386-gen.c il-gen.c il-opcodes.h libtcc.h libtcc1.c libtcc_test.c Makefile README stab.def stab.h stdarg.h stdbool.h stddef.h tcc-doc.html tcc-doc.texi tcc.1 tcc.c tccasm.c tcccoff.c tccelf.c tcclib.h tccpe.c tcctest.c tcctok.h texi2pod.pl tiny_impdef.c TODO varargs.h VERSION-c language compiler arm-gen.c asmtest.S bcheck.c boundtest.cc67-gen.c Changelog coff.h configureCOPYING elf.h [examples] float.hgcctestsuite.sh i386-asm.c i386-asm.h i386- gen.cil-gen.c il-opcodes.h libtcc.h libtcc1.clibtcc_test.c Makefile README stab.defstab.h stdarg.h stdbool.h stddef.htcc-doc.html tcc-doc.texi tcc.1 tcc. ctccasm.c tcccoff.c tccelf.c tcclib.htccpe.c tcctest.c tcctok.h texi2pod.pltiny_impdef.c TODO varargs.h VERSION
Platform: | Size: 423936 | Author: | Hits:

[uCOSGCCandtheMicroCOS-II

Description: Real-time processing with the Philips LPC ARM microcontroller using GCC and the MicroC/OS-II RTOS.-Real-time processing with the Philips LPC ARM microcontroller using GCC and the MicroC/O S-II RTOS.
Platform: | Size: 293888 | Author: | Hits:

[OS Developucos2.8-run-mips

Description: UCOS在我的MIPS CPU上的移植 1. 这是UCOS在我的MIPS CPU上的移植代码, 编译工具使用标准的MIPS GCC. 2. 所有CPU相关的代码全在start.S中,相关函数说明如下: -UCOS in my MIPS CPU on one transplant. This is uCOS MIPS CPU in my code the transplant, the compiler uses the standard tools for MIPS GCC.2. All CPU-related code-wide in start.S, the correlation function as follows :
Platform: | Size: 77824 | Author: 许昕 | Hits:

[Booksgccandgdb

Description: stallman的GNU Compiler,Version3.2.3,和debuging with GDB version 6.4.50.20060418-Stallman s GNU Compiler, Version3.2.3, and debuging with GDB version 6.4.50.20060418
Platform: | Size: 2740224 | Author: | Hits:

[Linux-Unixcopy

Description: linux下的文件拷贝命令行程序的源代码,环境fedora8.0,gcc编译-linux file copy under the command-line program s source code, the environment fedora8.0, gcc compiler
Platform: | Size: 1024 | Author: 小伟 | Hits:

[SCMSPI

Description: 以前自己编的avr_gcc的spi的程序,经过实验板的调试,可以直接使用-Before the avr_gcc own procedures for the spi, after experimental board debugging, you can directly use
Platform: | Size: 1024 | Author: 黄华 | Hits:

[Linux-Unixgcclib

Description: gcclib This gcc 1.40 suits for Linux kernel 0.11 - 0.95 Installtion hints ----------------- This suit contains include.taz, local.taz and this README file. You must download the bootimage and rootimage and install them first. The include.taz contains all the include files for using with gcc 1.40. The local.taz contains all the gcc tools & libs stored in two sepearted directories: /usr/local/lib /usr/local/bin You should copy the linux/ asm/ sys/ subdirectories into the include directory from the corresponding kernel source. Installation ------------ Goto the /usr directory. Untar the include.taz to the directory /usr/include. Untar the local.taz to the directory /usr/local. That s it! Example: -------- cd /usr tar zxvf include.taz tar zxvf local.taz-gcclibThis gcc 1.40 suits for Linux kernel 0.11- 0.95Installtion hints----------------- This suit contains include.taz, local.taz and this README file.You must download the bootimage and rootimage and install them first.The include.taz contains all the include files for using with gcc 1.40.The local.taz contains all the gcc tools
Platform: | Size: 621568 | Author: xxxxxu | Hits:

[Graph programSpline

Description: 样条曲线的算法C++代码实现,包含三个文件spline.cpp/spline.h/spline_prb.cpp,其中sline_prb为测试程序。此库中包含常见的多项式样条、hemitt样条、B样条等八种样条算法。devc++/vc/gcc下均通过-Spline curve algorithm C++ Code, including the three documents spline.cpp/spline.h/spline_prb.cpp, which sline_prb for the test procedure. This library contains the common polynomial spline, hemitt spline, B-spline, such as eight-spline algorithm. devc++/vc/gcc adopted under
Platform: | Size: 41984 | Author: rene | Hits:

[ARM-PowerPC-ColdFire-MIPSAVR_Camera

Description: The AVRcam source files were built using the WinAVR distribution (version 3.3.1 of GCC). I haven t tested other versions of GCC, but they should compile without too much difficulty. * The source files for the AVRcam had the author name and copyright information added back into them after the judging of the project, since it states in the competition rules that the author s name can not be present during their inspection. * The included source files are the ones that were submitted for the entry into the Circuit Cellar contest. I have continued to develop the AVRcam, and have added several new features (such as ignoring objects that aren t larger than a minimum size, removing tracked objects that overlap with each, and some general optimizations). If you are interested in the latest source, email me at john@jrobot.net * For more info about the AVRcam, check out http://www.jrobot.net John Orlando August 20, 2004-The AVRcam source files were built using the WinAVR distribution (version 3.3.1 of GCC). I haven t tested other versions of GCC, but they should compile without too much difficulty .* The source files for the AVRcam had the author name and copyrightinformation added back into them after the judging of the project, since it states in the competition rules that the author s name can not be present during their inspection.* The included source files are the ones that were submitted forthe entry into the Circuit Cellar contest. I have continued todevelop the AVRcam, and have added several new features (such asignoring objects that aren t larger than a minimum size, removingtracked objects that overlap with each, and some general optimizations). If you are interested in the latest source, email me at john@jrobot.net* For more info about the AVRcam, check out http://www.jrobot.netJohn OrlandoAugust 20, 2004
Platform: | Size: 55296 | Author: 袁君 | Hits:

[Streaming Mpeg4baseON_ARM_MPEG4.pdf

Description: 基于ARM的MPEG4视频解码器的优化。本文对嵌入式软件开发人员有参考价值,本人从事嵌入式多媒体软件开发。对MPEG4,ARM,MIPS有些研究,此文对基于ARM的MPEG4视频解码器优化为开发人员提供了新的思路。-ARM-based MPEG4 video decoder optimization. In this paper, embedded software developers have a reference value, I engaged in embedded multimedia software development. On MPEG4, ARM, MIPS, some research, this article based on ARM s MPEG4 video decoder optimized for the developers to provide a new way of thinking.
Platform: | Size: 228352 | Author: H Simon | Hits:

[SCMavr-libc-user-manual-1.6.1

Description: avr的gcc的lib库函数的使用手册,是嵌入式工具链的重要环节-avr the gcc library function of the lib' s user manual embedded tool chain are an important aspect
Platform: | Size: 916480 | Author: 周谦 | Hits:

[Embeded Linuxlinux-2.6.28-sitsang

Description: 将linux-2.6.28版本的内核移植到arm公司的sitsang板上,并提供一个可行的LCD驱动,可以在内核启动后显示linux的logo。上传的是patch文件,在linux下作为补丁打入原始版本的内核源码,利用arm-linux-gcc编译-Will be linux-2.6.28 version of the kernel ported to arm the company' s board sitsang and provide a viable LCD driver, you can show the linux kernel after the logo. Patch files are uploaded in linux as a patch into the original version of the kernel source code, using arm-linux-gcc compiler
Platform: | Size: 17408 | Author: jayshaw | Hits:

[Linux-Unixc-s-huangjun86

Description: linux环境下gcc编译通过,cs通信server端源码,实现了简单的文本的传输,阅读后即可了解整个socket流程,绝对原创,欢迎大家多多支持。-gcc compiler under linux through, cs source client server communication, the realization of a simple transfer of text, reading socket understand the whole process can be absolutely original, welcome to a lot of support.
Platform: | Size: 1024 | Author: 黄珺 | Hits:

[Internet-Networkns227-gcc34

Description: 很多朋友需要安装ns-2.27 却没有不补丁 我来帮大家的忙了-Many of my friends need to install ns-2.27 but there is no patch for me to help everyone' s busy
Platform: | Size: 3072 | Author: | Hits:

[Otherdjgpp

Description: djgpp编译环境,已经将gcc,ar等解开到其中,直接可以使用。使用时参考内部readme.lst文件,设置好路径即可: set DJGPP=C:\DJGPP\DJGPP.ENV set PATH=C:\DJGPP\BIN PATH -djgpp compiler environment, have gcc, ar, such as the one to solve, can be used directly. The use of internal reference readme.lst files, settings can be a good path: set DJGPP = C: \ DJGPP \ DJGPP.ENV set PATH = C: \ DJGPP \ BIN PATH
Platform: | Size: 7003136 | Author: 张炜 | Hits:

[Linux-UnixGCC-manual

Description: Linux下强大编译器GCC的使用手册,中英文对照,内容详实。-GCC s manual, in bilingual
Platform: | Size: 473088 | Author: xshbx | Hits:

[ELanguageGCCIntrinsicsTest(SSE)

Description: A test program demonstrating how to use SSE instructions in GCC, via compiler intrinsics. Includes Windows binary compiled with MinGW, and batch file showing what command line options you should be passing to the GCC.-A test program demonstrating how to use SSE instructions in GCC, via compiler intrinsics. Includes Windows binary compiled with MinGW, and batch file showing what command line options you should be passing to the GCC.
Platform: | Size: 74752 | Author: Mike Kasprzak | Hits:

[VC/MFCCode-Optimization-Technique-of-GCC

Description: GCC 是基于Linux 下的开放源码的优化编译系统,可以接收多种高级源语言,广泛支持多平台操作系统。其代码优化机制,不仅能兼顾时间、空间效率,生成高质量的目标代码,而且具有很强的可移植性与可扩充性,是编译器优化研究的目标。通过对 GCC 的整体结构、优化策略、优化方法与关键技术、中间语言等进行详细的剖析,抽取出完整的 GCC 优化体系结构。文中集中探讨了 GCC 的优化策略和实现技术,首先从 GCC 优化体系的总体规划入手,着重分析了 GCC 的优化组织策略,设计、引入中间代码 RTL 的技巧和内涵,进一步研究了 GCC 所涉及的控制流分析技术、数据流分析技术的实现机制。 -GCC is based on the optimizing compiler under the Linux open-source system, you can receive a wide range of high-level source language, extensive support for multi-platform operating system. Code optimization mechanisms can not only take into account the time and space efficiency, generate high-quality object code, and has strong portability and scalability, is the objective of the study of compiler optimizations. The overall structure of the GCC, optimization strategies, optimization methods and key technologies, the intermediate language for a detailed analysis, extracted the GCC optimization architecture. Paper focused explore the GCC optimization strategies and to achieve technology, first of all from GCC optimize the system of overall planning to start focus on analysis of the GCC s optimization organization strategy design, the introduction of intermediate code RTL s skills and connotation, further study of the GCC are involved in the control flow analysis techniques, dat
Platform: | Size: 194560 | Author: 风云 | Hits:
« 12 3 4 5 6 7 8 »

CodeBus www.codebus.net