
面试笔试题
文章平均质量分 62
丫就是熊个猫猫
to be a better me !进一寸有一寸的欢喜~
展开
-
排序算法
排序算法一、插入排序——直接插入排序(Straight InsertionSort)基本思想:将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。要点:设立哨兵,作为临时存储和判断数组边界之用。如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相等元素的前后顺序没有改变,从原无序序列出去的顺序就是排好序后的顺序,所以插入排序是稳定的。算法实现:原创 2017-08-01 17:17:44 · 583 阅读 · 0 评论 -
[牛客网]错题整理(8)
(1)只能使用成员函数重载的运算符有:=、()、[]、->、new、delete。(2)单目运算符最好重载为成员函数。(3) 对于复合的赋值运算符如+=、-=、*=、/=、&=、!=、~=、%=、>>=、<<=建议重载为成员函数。(4) 对于其它运算符,建议重载为友元函数。运算符重载的方法是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该函数,以实现相应的运算。也就是说,运算符重载是通过定义函数实现的。运算符重载实质上是函数的重载。重载运算符的函数一般格式如下:函数类型 op原创 2017-08-01 10:03:02 · 617 阅读 · 0 评论 -
[牛客网]错题整理(5)
错题集1.下面关于#import和#include描述正确的是()A.#import和#include不可以混合使用B.#import只用于引用Objective-C的文件,#include只用于C和C++文件C.#import和#include的使用效果完全相同D.#import是#include的替代指令,防止重复引用答案:D解析:预编译指令Objective-C:#importC,C++:#include#import由gcc编译器支持在 Objective-C 中,#impo原创 2017-07-23 10:15:28 · 611 阅读 · 0 评论 -
面向对象相关
面向对象与面向过程的区别:1)出发点不同。面向对象是用符合常规思维方式来处理客观世界的问题,强调把问题域的要领直接映射到对象及对象之间的接口上。而面向过程则不然,它强调的是把过程抽象化与模块化,它是以过程为中心构造或处理客观世界问题的。2)层次逻辑关系不同。面向对象方法则是用计算机逻辑来模拟客观世界中的物理存在,以对象的集合类作为处理问题的基本单位,尽可能地使计算机世界向客观世界靠拢,以使问题的处理更清晰直接。面向对象的方法是用类的层次结构来体现类之间的继承和发展。而面向过程方法处理问题的基本单位是能清原创 2017-07-19 11:18:55 · 432 阅读 · 0 评论 -
[牛客网]错题整理(3)
1 静态链接库的优点 (1) 代码装载速度快,执行速度略比动态链接库快; (2) 只需保证在开发者的计算机中有正确的.LIB文件,在以二进制形式发布程序时不需考虑在用户的计算机上.LIB文件是否存在及版本问题,可避免DLL地狱等问题。2 动态链接库的优点 (1) 更加节省内存并减少页面交换; (2) DLL文件与EXE文件独立,只要输出接口不变(即名称、参数、返回值类型和调用约定不变),更换DLL文件不会对EXE文件造成任何影响,因而极大地提高了可维护性和可扩展性; (3) 不同编程语言编写的程原创 2017-07-19 10:03:59 · 730 阅读 · 0 评论 -
C++必知必会题目整理
C++问题整理1.面向过程编程和面向对象编程各有什么特点?2.什么是面向对象?面向对象的特点有哪些?3.C++之父是谁?能否介绍一下?4.请详细说明register关键字作用5.请详细说明const关键字作用6.请说明const与#define定义常量的区别7.请详细说明static关键字作用8.简述类的普通成员变量和静态成员变量的区别9.调用类的静态成员的两种方式是什么10.使用类的静态成员变量是需要注意什么问题11.请说明引用和指针的区别12.请说明内联函数与带参宏函数的区别1原创 2017-07-10 11:13:48 · 598 阅读 · 0 评论 -
[数组]二分查找算法
二分查找算法二分查找算法也称为折半查找法,它的思想是每次都与序列的中间元素比较。二分查找的一个前提条件是数组是有序的,假设数组array为递增序列,findData为要查找的数,n为数组长度,首先将n个元素分成个数大致相同的两半,取array[n/2]与将要查找的值findData进行比较,如果相等,则找到了,算法终止;如果findData<array[n/2],在数组的左半部分进行查找,相反则在右半部分进行查找。二分查找算法分为递归和非递归方法解决原创 2017-07-21 18:16:15 · 789 阅读 · 0 评论 -
[数组]递归方式求和
递归方法求和首先,如果不需要用递归方法,我们可以用遍历的方式来实现数组元素求和。#include <stdio.h> int main(){int a[] = {3,6,8,2,1};int i;int sum = 0;int len = sizeof(a) / sizeof(a[0]);for(i = 0; i < len; i++){sum += a[i];}printf("%d\n",sum);return 0;} 如题目要求,用递归方式实现求和。我们需要考虑递原创 2017-07-21 17:14:37 · 2441 阅读 · 0 评论 -
[牛客网]错题整理(6)
解析:这题在不同的编译器会有不同的结果:第一种情况:j = (i++*i++);=>3*4 第一次i++返回3 第二次i++返回4 最后i的值为5k = (++i*++i);=>6*7 第三次++i返回6 第四次++i 返回7 最后i的值为7但是还有一种编译器的分析情况是这样j=(i++*i++)=>3*3 也就是说运行时直接使用的i的值3 但是i最终在内存的值还为5毕竟加了2次k = (++i*++i);=>7*7 运行时先计算的++i,然后取出i的最终值7 在计算乘法。还有一种情原创 2017-07-25 10:34:23 · 599 阅读 · 0 评论 -
想成为嵌入式程序员应知道的0x10个基本问题
C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答出某个字符的ASCII值。这些问题着重考察你的系统调用和内存分配策略方面的能力吗?这标志着出题者也许花时间在微机上而不是在转载 2017-08-03 10:16:49 · 752 阅读 · 0 评论 -
Linux笔试面试题及答案
一 填空题:1. 在Linux系统中,以 文件 方式访问设备 。2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。3. Linux文件系统中每个文件用 i节点 来标识。4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。5. 链接分为: 硬链接 和 符号链接 。6. 超级块包含了i节点表 和 空闲块表 等重要的文件系统信息。7. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为: 644 ,该文件属性是转载 2017-08-07 11:20:10 · 7419 阅读 · 1 评论 -
[玩转算法]滑动窗口
209.Minimum Size Subarray Sum给定一个整型数组和一个数字s,找到数组中最短的一个连续子数组使得连续子数组的数字和sum >= s,返回这个最短的连续子数组的返回值。·如,给定数组[2,3,1,2,4,3],s = 7·答案为[4,3],返回2暴力解:遍历所有的连续子数组[i,j]计算其和sum,验证sum=s;时间复杂度O(n^3)什么方法时间复杂度可以优化为O(n^2)3.Longest Substring Without Repeating Charac原创 2017-08-14 14:15:04 · 1224 阅读 · 0 评论 -
[玩转算法]对撞指针
167 Two Sum II - Input array is sorted给定一个有序整型数组和一个整数target,在其中寻找两个元素,使其和为target。返回这两个数的索引。-如numbers = [2,7,11,15],target = 9;-返回数字2,7的索引1,2(索引从1开始计算)-如果没有解怎么样?保证有解-如果有多个解怎样?返回任意解125.Valid Palindrome给定一个字符串,只看其中的数字和字母,忽略大小写,判断这个字符串是否为回文串?·“A man,原创 2017-08-12 15:05:02 · 2283 阅读 · 0 评论 -
[牛客网]错题整理(7)
FindSubString() 函数就是要找到一个先递增再递减且递增和递减的数量相等的回文序列,例如: ABCDCBA ,先是 后一项 = 前一项 ASCII 码 +1 , 后是 后一项 = 前一项 ASCII 码 -1 ,才能返回回文子串的长度,否则返回 0 。ModifyString() 函数不断寻找上述类型的子串,如果不满足条件,就*p2++ = *p1++;当遇到 ABABA 中前一个 ABA 的时候,满足回文子串要求,此时 p1 指向 A BABA , p2 指向 ABABA ; s原创 2017-07-27 11:17:15 · 719 阅读 · 0 评论 -
[玩转算法]数组问题
排序:选择排序;插入排序;归并排序;快速排序查找:二分查找法数据结构:栈;队列;堆…… 如何写出正确的程序明确变量的含义循环不变量小数据量调试大数据量测试 leetcode283.Move Zeros问题给定一个数组nums,写一个函数,将函数中所有的0挪到数组的末尾,而维持其他非0元素的相对位置.举例:nums = [0,1,0,3,12],函数运行后结果为[1,3,12,0,0]Remove Element给定一个数组nums和一个数值val,将数组中所有等于val的元原创 2017-08-10 14:52:52 · 646 阅读 · 0 评论 -
[玩转算法]基础算法思路的应用
基础算法思路的应用75.Sort Colors给定一个有n个元素的数组,数组中元素的取值只有0,1,2三种可能。为这个数组排序。·可以使用任意一种排序算法·没有使用上题目给出的特殊条件计数排序:分别统计0,1,2的元素的个数88.Merge Sorted Array给定两个有序的整型数组nums1,nums2,将nums2的元素归并到nums1中215.Kth Largest Element in an Array在一个整数序列中寻找第k大的元素如给定数组[3,2,1,5,6,4],原创 2017-08-10 18:57:29 · 724 阅读 · 0 评论 -
腾讯笔试题
1、解释const的含义及实现机制const的含义及实现机制,比如:const int i,是怎么做到i只可读的?答:const用来说明所定义的变量是只读的。这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。2、买200返100优惠券,实际上折扣是多少?到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?答:由于优惠券可以代替现金,所以可以使用200元优惠券买东西,然后还可以获得100元的优惠券。假设开始时花了x元,那么可以买到 x + x/转载 2017-08-03 10:44:22 · 578 阅读 · 0 评论 -
变量&字符串
全局变量和静态变量的异同相同点:都保留在静态存储区,生命期与程序生命期相同。不同点:全局变量具有全局作用域,静态变量具有稳健作用域。把局部变量改为静态变量后是改变了它的存储方式,即改变了它的生存期;把全局变量改变为静态变量后是改变了它的作用域,限制了它的适用范围。 全局变量和局部变量的区别1)全局变量的作用域为这个程序块,而局部变量的作用域为当前函数;2)内存存储方式不同,全局变量分配在全局数据区,后者分配在栈区;3)生命周期不同。全局变量随主程序创建而创建,随主程序销毁而销毁,局部变量在局原创 2017-07-18 11:22:47 · 560 阅读 · 0 评论 -
求质数算法的N种境界[1] - 试除法和初级筛法
★引子 前天,俺在《俺的招聘经验[4]:通过笔试答题能看出啥?》一文,以"求质数"作为例子,介绍了一些考察应聘者的经验。由于本文没有政治敏感内容,顺便就转贴到俺在优快云的镜像博客。 昨天,某个优快云网友在留言中写道:老实说,这个程序并不好写,除非你背过这段代码如果只在纸上让别人写程序,很多人都会出错但是如果给一台电脑,大多数人都会把这个程序调试正确出这个题目没啥意义只能让别人觉得你出题水平低 首先,这位网友看帖可能不太仔细。俺在文中已经专门强调过了,评判笔试答题,"思路和想法"远远转载 2017-07-21 14:05:00 · 554 阅读 · 1 评论 -
[牛客网]错题整理(2)
错题集1.定义一个函数指针,指向的函数有两个int形参并且返回一个函数指针,返回的指针指向一个有一个int形参且返回int的函数?答案:int (*(*F)(int, int))(int)解析:首先,一个函数指针,指向的函数有两个int形参,这个就是(*F)(int, int),这返回的是一个指针返回一个函数指针,返回的指针指向一个有一个int形参且返回int的函数;把上面的结果当成一个指针,相当于再做一次上面的步骤,所以结果为:int (*(*F)(int, int))(int)原创 2017-07-18 09:48:58 · 1353 阅读 · 0 评论 -
define声明一个常数问题
define声明一个常数,用以表明1年中有多少秒#define SECOND_PER_YEAR(60 * 60 * 24 * 365)UL1)由于宏定义是预处理命令,而非语句,所以在进行宏定义时,不能以分号结束。2)预处理只会执行简单的替换,不会计算表达式的值,所以需要注意括号的使用,直接写出是如何计算一年中有多少秒而不是计算出实际的值。3)考虑到可能存在数据溢出的问题,更加规范化的写法是使用长整型,即UL类型,告诉编译器这个常数是长整型数。原创 2017-07-14 09:20:30 · 2237 阅读 · 0 评论 -
变量与零值的比较
变量与零值的比较1)int类型if(n == 0)if(n != 0)不推荐的写法有:if(n)if(!n)2)float类型 const float EPSINON = 0.00001; if((x >= -EPSINON) && (x <= EPSINON)) 错误的写法有: if(x == 0.0) if(x != 0.0)3)bool类型 if(flag) if(!flag) 不推荐的写法有: if(flag == TRUE) if(flag原创 2017-07-13 19:13:01 · 375 阅读 · 0 评论 -
指针还是引用
指针还是引用1)从本质上讲,指针是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,即其所指向的地址可以被改变,其指向的地址中所存放的数据也可以被改变。而引用则只是一个别名而已,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且引用的对象在其整个生命周期中是不能被改变的,即自始至终只能依附同一个变量,具有“从一而终”的特性。2)作为参数传递时,两者不同。在C++中,指针与引用都可以用于函数的参数传递,但是指针传递参数和引用传递参数有着本质的不同。指针传递参数本质上是值传原创 2017-07-13 18:48:36 · 386 阅读 · 0 评论 -
sizeof与strlen的区别
sizeof与strlen的区别1)sizeof是关键字,而strlen是函数。sizeof后如果是类型必须加括弧,如果是变量名可以不加括弧。2)sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能够容纳实现所建立的最大对象的字节大小。3)sizeof可以用类型作为操作符,strlen只能用char *做参数,而且必须是以‘\0’结尾的。sizeof还可以以函数作为参数,如 int g(),则sizeof(g())的值就等于sizeof(i原创 2017-07-13 16:49:10 · 341 阅读 · 0 评论 -
new/delete与malloc/free的区别是什么
new/delete与malloc/free的区别是什么1)new能够自动计算需要分配的内存空间,而malloc需要手工计算字节数。例如:int *p1 = new int[2],int * p2 = malloc(2*sizeof(int));2)new与delete直接带具体类型的指针,malloc与free返回void类型的指针。3)new是类型安全的,而malloc不是,例如:int *p = new float[2],编译时就会报错;而int *p = malloc(2*sizeof(flo原创 2017-07-13 15:10:36 · 545 阅读 · 0 评论 -
const有哪些作用?
const有哪些作用常类型也称为const类型,是指使用类型修饰符const说明的类型。const是C和C++中常见的关键字,在C语言中,它主要用于定义变量为常类型以及修饰函数参数与返回值,而在C++中还可以修饰函数的定义,定义类的成员函数。常类型的变量或对象的值是不能更新的。一般而言,const有以下几个方面的作用:1)定义const常量,具有不可变性。2)进行类型检查,使编译器对处理内容有更多了解,消除一些隐患。3)避免意义模糊的数字出现,同样可以很方便地进行参数检查和修改。同宏定义一样,可以原创 2017-07-13 12:39:34 · 2390 阅读 · 0 评论 -
static(静态)变量有什么作用?
在C语言中,关键字static的意思是静态,它有3个明显的作用:1)在函数体内,静态变量具有“记忆”功能,即一个被声明为静态的变量在这一函数被调用的过程中其值维持不变。2)在模块内(但在函数体外),它的作用域范围是有限制的,即如果一个变量被声明为静态的,那么该变量可以被模块内所有的函数访问,但不能被模块外其他函数访问。它是一个本地的全局变量,如果一个函数被声明为静态的,那么该函数与普通函数作用域不同,其作用域仅在本文件中,它只可能被这一模块内的其他函数调用,不能被模块外的其他函数调用,也就是说这个函数被原创 2017-07-12 23:12:35 · 15743 阅读 · 0 评论 -
数据库与文件进行数据存储有哪些区别?
数据库与文件进行数据存储有哪些区别?其区别在于:(1)文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据。(2)文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离。(3)文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控制数据。(4)文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享。 其联系在于:(1)均为数据组织的管理技术。(2)均由数据管理软件管理数据,程序与数据之间用存取方法进行转换。(3)数据原创 2017-04-19 16:25:50 · 4434 阅读 · 0 评论 -
预处理相关问题
预处理含参数宏与函数的区别1)函数调用时,首先求出实参表达式的值,然后带入形参。而使用带参的宏只有是进行简单的字符替换。2)函数调用是在程序运行时处理的,它需要分配临时的内存单元;而宏展开则是在编译时进行的,在展开时并不分配内存单元,也不进行值的传递处理,也没有“返回值”的概念。3)对函数中的实参和形参都要定义类型,两者的类型要求一致,如果不一致,应进行类型转换;而宏不存在类型问题,宏名无类型,它的参数也无类型,只是一个符号代表,展开时带入指定的字符即可。宏定义时,字符串可以是任何类型的数据。4)原创 2017-07-14 09:21:23 · 453 阅读 · 0 评论 -
结构体与类
结构体与类C语言中struct与union的区别1)结构体和联合体虽然都是由多个不同的数据类型成员组成的,但不同之处在于联合体中所有成员共用一块地址空间,即联合体只存放了一个被选中的成员,而结构体中所有成员占用空间是累加的,其所有成员都存在,不同成员会存放在不同地址。在计算一个结构体变量的总长度时,其内存空间大小等于所有成员长度之和(需要考虑字节对齐),而在联合体中,所有成员不能同时占有内存空间,它们不能同时存在,所以一个联合型变量的长度等于其最长的成员的长度。2)对于联合体的不同成员的赋值,将会对它原创 2017-07-14 10:24:54 · 434 阅读 · 0 评论 -
[牛客网]错题整理(4)
错题集1.没用参数的两个函数是不能重载的.说法是否正确?答案:错误解析:const 可以构成重载 2.Math.round(11.5) 等于:()答案:12解析:首先要注意的是它的返回值类型是long,如果 Math.round(11.5f),那它的返回值类型就是int,这一点可以参考API其次它返回的是一个最接近参数的long 值(例如: Math.round(11.6) = 12; Math.round(-11.6) = -12; Math.round(-0.1) = 0; Math.原创 2017-07-21 10:26:08 · 930 阅读 · 0 评论 -
C语言必知必会的题目整理
.C语言之父是谁?2.C语言和UNIX有什么区别3.C语言特点哪些?4.丹尼斯为什么写C语言?5.为什么嵌入式开发中选择C语言作为开发语言?6.什么是可移植性?7.什么可以成为移植性好?8.能够直接访问硬件的还有什么语言?与C语言有什么区别?9.什么时候用C语言?什么时候用汇编?10.C语言的标准有哪些?11.C语言的标准之间的差别在哪里?12.gcc遵循的什么标准?13.什么是数据类型?14.数据类型有哪些?15.如何定义变量16.隐式类型转化和强制类型转化分别是什么?原创 2017-07-08 20:29:25 · 838 阅读 · 0 评论 -
程序设计基本概念
1.在C++程序中调用被C编译器编译后的函数,为什么要加extern “C”?答:C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言不同。假设某个函数的原型为void foo(int x,int y).该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字。C++提供了C连接交换指定符号extern “C”解决名字匹配问题2.头文件中的ifndef/define/endif是干什么用的?答:头文件中的ifndef/d原创 2017-07-07 22:15:56 · 638 阅读 · 0 评论 -
操作系统
操作系统进程与线程的区别:1)一个线程必定属于也只能属于一个进程;而一个进程可以拥有多个线程并且至少拥有一个线程;2)属于一个进程的所有线程共享该进程的所有资源,包括打开的文件、创建的socket等。不同的进程互相独立。3)线程又被称为轻量级进程。进程有进程控制块,线程也有线程控制块。但线程控制块比进程控制块小得多。线程间切换代价小,进程间切换代价大。4)进程是程序的一次执行,线程可以理解为程序中一段程序片段的执行。5)每个进程都有独立的内存空间,而线程共享其所属进程的内存空间。原创 2017-07-20 15:14:42 · 413 阅读 · 0 评论 -
可重入函数
可重入函数什么是可重入函数?C语言如何写可重入函数?可重入函数是指能够被多个线程“同时”调用的函数,并且能保证函数结果正确的函数。在C语言中编写可重入函数时,尽量不要使用全局变量或静态变量,如果使用了全局变量或静态变量,就需要特别注意对这类变量的访问的互斥。一般采用以下几种措施来保证函数的可重入性:信号量机制,关调度机制,关中断机制。需要注意的是,不要调用不可重入函数,当调用了不可重入函数时,会使该函数也变为不可重入函数。一般驱动程序都是不可重入函数,因此在编写驱动程序时一定要注意重入问题。原创 2017-07-16 20:44:39 · 472 阅读 · 0 评论 -
函数指针与指针函数的区别
函数指针与指针函数的区别指针函数是带指针的函数,本质上是一个函数,函数返回类型是某一类型的指针。其形式一般如下:类型标识符 *函数名(参数列表)例如,int *f(x,y),它的意思是声明一个函数f(x,y),该函数返回类型为int型指针。而函数指针是指向函数的指针变量,即本质是一个指针变量,表示的是一个指针,它指向的是一个函数。其形式一般如下:类型说明符 (*函数名)(参数)例如:int (*pf)(int x),它的意思就是声明一个函数指针,而pf=func,则将func函数首地址赋值给指针原创 2017-07-16 20:37:30 · 616 阅读 · 1 评论 -
[牛客网]错题整理(1)
错题集1.int main(int argc ,char** argv){int n = 9, i;for (i = 1; i<argc; i++)n = n * 10 + *argv[i] - '0';printf("%d\n", n);return 0;}经编译连接生成的可执行文件 tt.exe 。若执行输入以下命令行 tt 12 345 678 ,则程序运行的输出结果是()答案:9136解析:输入tt 12 345 678时,argc == 4argv == {“tt”, "1原创 2017-07-16 19:48:46 · 949 阅读 · 0 评论 -
位操作
如何利用位运算计算数的绝对值以x为负数为例来分析。因为在计算机中,数字都是以补码的形式存放的,求负数的绝对值,就应该不管符号位,执行按位取反,末位加1操作。对于一个负数,将其右移31位后变成0xffffffff,而对于一个整数而言,右移31位则为0x00000000,而0xffffffff^x+x=-1,因为1011^1111=0100,任何数与1111异或,其实质都是把x的0和1进行颠倒计算。如果用变量y表示x右移31位,(x^y)-y则表示的是x的绝对值。代码示例:原创 2017-07-14 23:39:27 · 789 阅读 · 0 评论 -
Makefile的作用
makefile的作用是什么?makefile文件保存了编译器和连接器的参数选项,还表述了所有源文件之间的关系(源代码文件需要的特定的包含文件,可执行文件要求包含的目标文件模块及库等).创建程序(make程序)首先读取makefile文件,然后再激活编译器,汇编器,资源编译器和连接器以便产生最后的输出,最后输出并生成的通常是可执行文件.创建程序利用内置的推理规则来激活编译器,以便通过对特定CPP文件的编译来产生特定的OBJ文件.原创 2017-04-19 16:24:34 · 2055 阅读 · 0 评论