摘要:
接GCC编译器(1) 4、警告选项 在编译过程中,编译器的报错和警告信息对于程序员来说是非常重要的信息,GCC包含完整的出错检查和警告提示功能,它可以帮助Linux程序员尽快找出错误的或潜在的错误代码,从而写过更优美的代码。GCC的编译器警告选项如下表: 类型 说明 -Wall 启用所有警告信息 ... 阅读全文
摘要:
1.GCC简介GCC(GNU Compiler Collection)是一套功能强大、性能优越的编程语言编译器,它是GNU计划的代表作品之一。GCC是Linux平台下最常用的编译器,GCC原名为GNU C Compiler,即GNU C语言编译器,随着GCC支持的语言越来越多,它的名称也逐渐变成了GNU Compiler Collection。下面对GCC的基本使用方法进行介绍。2.基本选项GCC编译器的基本选项如下表:类型说明-E预处理后即停止,不进行编译、汇编及连接-S编译后即停止,不进行汇编及连接-c编译或汇编源文件,但不进行连接-o file指定输出文件file我们都知道程序的编译要经 阅读全文
摘要:
接上两篇博文:vi编辑器的使用(1) vi编辑器的使用(2) 2. vi编辑器之程序编辑 本小节主要介绍vi编辑器在程序设计中可以提高效率的几项操作,包括光标的跳转、关键字补全以及源代码缩进等。 2.1程序中光标的跳转 1.括号之间的跳转 命令%可以实现括号之间的跳转,转到与当前光标下的括号相匹配的一个括号上,如果光标在“(”上,就会跳到与它... 阅读全文
摘要:
接上篇vi编辑器的使用(1) 1.4 光标移动 vi编辑器中的很多命令都是基于光标当前位置的,因此,如何移动光标定位到所需要的位置是一项十分重要的工作,下面进行详细介绍(如无特别说明,下面所讲的命令都是在普通模式下执行)。 1. 向前移动字符 将光标向前移动一个字符可以使用命令为:l、Space键或方向键→。如果在命令前加一个数字n,就是将光标向前移动n个字符,例如: #include<... 阅读全文
摘要:
Linux 系统下的文本编辑器有很多种,包括图形模式下的gedit、kwrite等,文本模式下的vi、vim(vi的增强版本)、emacs等。其中vi和emacs是Linux系统中最常用的两个编辑器。本节主要介绍vi编辑器,主要内容包括: vi编辑器的基本使用,包括vi的启动与退出、工作模式的切换、光标的移动、屏幕的滚动、文本的插入与删除、复制与粘帖、查找与替换等。 vi编辑器之程序编辑,包括程序设计中光标的跳转、关键字的补全,以及代码的缩进等。 希望通过本节的学习,能够基本掌握vi编辑器的使用方法和相关技巧,能够独立完成程序源代码的编辑和修改。1 vi编辑器的基本使用 vi编辑器是Linu. 阅读全文
摘要:
在C和C++语言开发中,指针、内存一直是学习的重点。因为C语言作为一种偏底层的中低级语言,提供了大量的内存直接操作的方法,这一方面使程序的灵活度最大化,同时也为bug埋下很多隐患。 因此,无论如何,我们都要对内存有一个清晰的理解。一、对内的分配 32位操作系统支持4GB内存的连续访问,但通常把内存分为两个2GB的空间,每个进程在运行时最大可以使用2GB的私有内存(0x00000000—0x7FFFFFFF)。即理论上支持如下的大数组:char szBuffer[2*1024*1024*1024]; 当然,忧郁在实际运行时,程序还有代码段、临时变量段、动态内存申请等,实际上是不可能用到上述那么. 阅读全文
摘要:
要理解一个C程序,仅仅理解组成该程序的符号是不够的。程序员还必须理解这些符号是如何组合成声明、表达式、语句和程序的。 我们先来看看下面的一个语句:( *( void(*)())0)(); 这是当计算机启动时,硬件将调用首地址为0位置的子例程。像这样的表达式恐怕会令每个C/C++程序员的内心都“不寒而栗”吧。 然而,完全不用害怕,任何C变量的声明都是由两部分组成:类型以及一组类似表达式的声明符。最简单的声明变量,如:float f , g ; 这个声明的含义是:当对其求值时,表达式f和g的类型为浮点型。 同样的逻辑也适用于函数和指针类型的声明,例如:float ff(); 这个声明的含义是:表. 阅读全文
摘要:
术语“符号”指的是程序的一个基本组成单元,其作用相当于一个句子中的单词。在程序中,符号就是程序的一个基本信息单元。而组成符号的字符序列就不同,同一组字符序列在某个上下文环境中属于一个符号,而另一个上下问环境中可能属于完成不用的另一个符号。1.1 =不同于== 在C语言中符号=作为赋值运算,符号==作为比较,一般而言赋值运算相对于比较运算出现得更频繁,因此字符较少的符号=就被赋予了更常用的含义——赋值操作。此外,在C语言中赋值符号被作为一种操作符对待,因而重复进行赋值操作(如a=b=c)可以很容易地书写,并且赋值操作还可以被嵌入到更大的表达式中。 但是,这种使用上的便利性可能导致一个潜在的问题. 阅读全文
摘要:
基本上求职者进行笔试时没有不考字符串的。字符串也是一种相对简单的数据结构,容易引起面试官反复发问。事实上,字符串也是考验程序员编程规范和编程习惯的重要考点。不要忽视这些细节,因为这些细节会体现你在操作系统、软件工程、边界内存处理等方面的知识掌握能力,也会成为企业是否录用你的参考因素。1、怎样将整数转换成字符串数,并且不用函数 itoa ? 答案:#include <iostream>using namespace std;int main (){ int num =12345,i=0,j=0; char temp[7],str[7]; while(num) { temp[i]=nu 阅读全文
摘要:
1、排序方法 将被排序的记录数组R[1..n]垂直排列,每个记录R[i]看作是重量为R[i].key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上"飘浮"。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。 (1)初始 R[1..n]为无序区。 (2)第一趟扫描 从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻者在下、重者在上,则交换二者的位置。即依次比较(R[n],R[n-1]),(R[n-1],R[n-2]),…,(R[2],R[1]);对于每对气泡(R[j+1],R[j]),若R[j+1].key 阅读全文