c语言常见编译错误

2024-05-26

c语言常见编译错误(精选6篇)

篇1:c语言常见编译错误

1.= 不等于 ==

从 Algol 派生出来的语言,如 Pascal 和 Ada,用 := 表示赋值而用 = 表示比较。而 C 语言则是用 = 表示赋值而用 == 表示比较。这是因为赋值的频率要高于比较,因此为其分配更短的符号。此外,C 可以多重赋值(如 a = b = c),并且可以将赋值嵌入到一个大的表达式或者语句中。这种便捷导致了一个潜在的问题:需要用比较的地方却写成了赋值。下面的语句看起来好像是要检查 x 是否等于 y :

if(x = y)

foo();

而实际上是将 y 的值赋值给 x,并检查结果是否非零。再看看下面的一个希望跳过空格、制表符和换行符的循环:

while(c == ’ ’ || c = ’t’ || c == ’n’)

c = getc(f);

在应该与 ’t’ 进行比较的地方程序员错误地使用了 =,而不是==。这个“比较”实际上是将’t’ 赋给 c,然后判断 c 的(新的)值是否为零。因为 ’t’ 不为零,所以这个“比较”一直为真,因此这是一个死循环。

一些编译器会对形如 e1 = e2 的条件给出一个警告以提醒用户。当你确实需要对一个变量进行赋值,然后再检查变量是否“非零”时,为了避免这种警告信息,应显式给出比较符。也就是将:

if(x = y)

foo();改写为:

if((x = y)!= 0)

foo();

2.多字符符号

一些 C 符号,如 /、* 或 =,只有一个字符。还有些 C 符号,如 /*、== 或标识符,具有多个字符。当编译器遇到紧连在一起的 / 和 * 时,它必须决定是将这两个字符识别为两个符号还是一个单独的符号。C 语言标准规定:“如果一个字符被识别为符号,则应该包含下一个字符看看包含此字符后构成的字符串是否仍然可以构成符号,如果可以则继续包含下一个字符,一直到不能构成符号为止。”。因此,如果 / 是符号的第一个字符,并且 / 后面紧随着一个 *,则这两个字符构成注释符开始标记。下面的语句看起来像是将 y 的值设置为 x 的值除以 p 所指向的值:

y = x/*p

/* p 指向除数 */;

实际上,因为 /* 是注释符开始标记,因此编译器会简单地“吞噬”程序文本,直到 */ 出现为止。换句话说,这条语句仅仅把 y 的值设置为 x 的值,而根本没有看到 p。我们应该将这条语句改为:

y = x / *p

/* p 指向除数 */;或者:

y = x /(*p)

/* p指向除数 */;

3.else 问题

考虑下面的程序片断:

if(x == 0)

if(y == 0)

error();

else {

z = x

y;

f(&z);

}

写这段程序的程序员的目的明显是想将情况分为两种:x == 0 和x!= 0。在第一种情况中,如果 y == 0,则调用 error()。第二种情况中,程序执行 z = x

y;和 f(&z)。

然而,这段程序的实际效果却大为不同。其原因是 else 总是与离它最近的 if 相关联。上面那段代码其实等价于:

if(x == 0){

if(y == 0)

error();

else {

z = x

y;

f(&z);

}

}

也就是说,当 x!= 0 发生时什么也不做。如果要达到我们想要的效果,应该改成:

if(x == 0){

if(y == 0)

error();

} else {

z = z

y;

f(&z);

}

4.表达式求值顺序

一些运算符以一种已知的、特定的顺序对其操作数进行求值。但另一些则不是。例如下面的表达式:

a

5.&&、|| 和!运算符

C 规定 0 代表“假”,非零代表“真”。这些运算符返回 1 表示“真”而返回 0 表示“假”。&& 和 || 运算符如果可以通过左边的操作数确定整个表达式的真假性,就不会对右边的操作数进行求值。!10 返回 0,因为 10 非零;10 && 12 返回 1,因为 10 和 12 的值都不是 0;10 || 12 也是 1,因为 10 非零。这个表达式中的 12 不会被求值,因为左边的 10 就足够确定整个表达式为真。同理 :10 || f()中的 f()也不会被求值。

6.下标从零开始

C 语言中,一个具有 n 个元素的数组中没有下标为 n 的元素,元素的下标是从 0 到n-1。下面的程序可能会崩溃:

int i, a[10];

for(i = 1;i

7.getchar 函数的返回值为整型(int)

请看以下程序:

#include

int main(void)

{

char c;

while((c = getchar())!= EOF)

putchar(c);

return 0;

}

这段代码存在一个小小的,但已经足以致命的错误:c 被声明为字符型(char)而不是整型。这意味着 c 可能不能正确接收 EOF,从而导致程序不能退出!正确的写法是:将 char 改成int。

篇2:c语言常见编译错误

VC++6.0是Microsoft公司推出的一个基于Windows系统平台、可视化的集成开发环境,它的源程序按C++语言的要求编写,并加入了微软提供的功能强大的MFC(Microsoft Foundation Class)类库。具有高度可视化的应用程序开发工具,不仅适合大型软件的开发,对于初学C语言和C++的朋友来说,也是一个不错的运行工具。

接下来笔者就简单介绍一下VC++6.0如何编译运行C语言程序

1.单个源文件的编译运行

例如下面的源代码

#include void main(){ int i,sum=0;for(i=1;i<=10;i++){ sum=sum+i;} printf(“sum=%dn”,sum);} 打开VC++6.0,如图1所示

(图1)

选择“文件”→“新建”,打开如图2所示

(图2)

选择“文件”项,如图3所示

(图3)

选择“C++ Source File”项,并在“文件名”项目下输入“sum.c”如图4所示

(图4)单击“确定”,打开如图5所示

(图5)

输入如上源代码,如图6所示

(图6)

选择“组建”→“编译”(或按Ctrl+F7组合键),打开如图7所示

(图7)

在下端的输出窗口会有错误和警告的提示,如果没有错误选择“组建”→“执行”(或按Ctrl+F5组合键)即可出现运行结果,如图8所示

(图8)

2.多个源文件的编译运行

以上是运行单个源文件的情况,但是在程序设计时,往往是由几个人各自独立编写不同的程序,显然这些程序是不能写在一起进行编译的,这时就需要建立项目工作区来完成几个独立程序的编译,具体方法如下。

首先建立两个文本文件,分别命名为“file1.c”和“file.c”,分别在两个文件中输入如下两个源代码,然后保存。源代码1:

#include void main(){

} void sum();sum();源代码2:

#include void sum(){

} int i,sum=0;for(i=1;i<=10;i++){ } printf(“sum=%dn”,sum);sum=sum+i;打开VC++6.0,选择“文件”→“新建”打开如图9所示

(图9)

选择“工作区”项,并在“工作空间名称”项目下输入“sum”如图10所示

(图10)单击“确定”,打开如图11所示

(图11)

在左侧的“工作区窗口”显示了新建立的工作区

选择“文件”→“新建”打开如图9所示,在“工程”项目下选择“Win32 Console Application”项,并在“工程名称”项目下输入工程名称,如“sum”,选择“添加到当前工作空间”项,如图12所示

(图12)

单击“确定”,打开如图13

(图13)

选择“一个空工程”项,单击“完成”,打开如图14所示

(图14)

单击“确定”,打开如图15所示

(图15)

在左侧的“工作区窗口”显示了新建立的工程

选择“工程”→“添加到工程”→“文件”,打开如图16所示

(图16)

选择刚刚创建的两个文件,单击“确定”,打开如图17所示

(图17)

选择“组建”→“组建”(或按F7键),打开如图18所示

(18)

在下端的输出窗口会有错误和警告的提示,如果没有错误选择“组建”→“执行”(或按Ctrl+F5)即可出现运行结果,如图19所示

篇3:C语言中常见错误初探

C语言是一种比较通用的程序设计语言, 具有功能强、使用方便灵活、生成目标程序效率高、应用面广、可移植性好、且可以直接对硬件系统进行控制操作等优点, 但由于C语言编译程序对语法检查并不如其它高级语言那么严格而常常出错, 因此给程序的调试带来了许多不便。在C语言的教材中一般都列举有不少具体的错误, 但常有一些更易被忽略或更隐蔽的错误未被列出, 本文针对初学者在学习和使用C语言时容易犯的错误列举出来, 以供参考。

1、教学实例

1.1 使用未定义的变量

在C语言中, 要求对所有用到的变量作强制定义, 即"先定义, 后使用"。初学者经常忘记定义变量, 而在函数的执行部分直接使用没有定义过的变量。例如:

在该程序中, 只定义了变量a, 而没有定义变量b, 但在程序中却使用了变量b, 因此在程序调试过程中会显示出错信息。

1.2 在书写标识符时, 忽略了大小写字母的区别

编译时出错, 编译程序把a和A认作是两个不同的变量名处理。

1.3 输入数据的方式与要求不符

C语言规定, scanf函数中的"格式控制"字符串中除了格式说明以外还有其他字符, 则在输入数据时应输入与这些字符相同的字符。例如:

正确的输入方法如下:a=4, b=5

以下的输入方式都是非法的:4 5或4, 5或4:5等

1.4 输入语句中忘加取地址符&

编译时出错, 错在x前忘加取地址符, 导致输入的数值没有赋给变量x。

1.5 误把"="作为关系运算中的"等于"运算符

在C语言中, 运算符"="是赋值运算符, 其功能是通过它所组成的赋值表达式给变量进行赋值;关系运算中的"等于"运算是通过运算符"=="来实现的。例如:

本意想输出1-9之间的数字, 结果由于表达式k=10的值为真 (非零) , 所以while循环语句条件为假, 循环体一次也不执行, 所以什么也不输出。这种错误在编译时是检查不出来的, 但运行结果往往是错的。而且由于习惯的影响, 程序设计者自己往往也不易发觉。

1.6 语句后面忘记加分号

C语言规定语句末尾必须有分号。分号是C语句不可缺少的一部分。有的学生往往忘记写分号。例如:scanf ("%d", &x)

1.7 条件语句 (if) 和循环条件语句后误加分号

例如:if (x>y) ;x=y;

这样相当于满足条件执行空语句。下面的x=y语句将被无条件执行。一般情况下if () 条件后不需要加分号。

例如:for (i=1;i<10;i++) ;{…}

上述for语句相当于满足条件执行空语句, 真正的循环语句则没有被执行。一般情况下

for () 循环条件后不需要加分号。这两个都是初学者容易犯的错误, 又很难察觉出来。

1.8 在使用库函数时, 忘记用预编译命令"#include"说明头文件

在调试这个程序时, 未发现错误, 可就是结果运行不出来。其实程序是没有任何错误。解决此类问题的办法就是要在程序的前面加上一个头文件#include"math.h", 如果不加这个头文件的话, 系统将不认识sqrt这个函数。

1.9 对应该有花括弧的复合语句, 忘记加花括弧

本意是实现1+2+…+100, 但上面的语句只是重复了sum+的操作, 而且循环永不终止。因为i的值始终没有改变。错误在于没有写成复合语句的形式。

1.1 0 在定义数组时, 将定义的"元素个数"误认为是"可使用的最大下标值"

本意想输出数组a中的所有元素。这是一些学生经常犯的错误。C语言规定定义时用a[10], 表示a数组有10个元素, 而不是可以用的最大下标值为10。数组只包括a[0]到a[9]10个元素, 因此用a[10]就超出a数组的范围了。

1.1 1 误认为形参值的改变会影响实参的值

本意通过调用swap函数使a和b的值对换, 然后在主函数中输出已对换了值的a和b, 但是这样的程序是达不到目的的, 因为实参变量对形参变量的数据传递是"值传递", 即单向传递, 只有实参传给形参, 而不能由形参传回给实参。若引用指针变量则容易达到交换a, b两变量的值的目的。

1.1 2 在switch语句的各分支中漏写break语句

Switch语句中的case只起标号作用, 不起判断作用, 程序一旦切入switch语句内, 不遇到break语句就一直执行完该语句, 这往往不是所需要的。

3、结束语

在使用C语言编程的过程中, 经常遇到的错误不止这些, 以上只是列举了一些初学者常出现的语法错误, 这些错误大多是由于对C语言不熟悉。此外, 学习过其他高级语言的初学者往往按照使用其他高级语言的习惯来写C程序, 这也是出错的一个原因。但是随着对C语言使用次数的增多, 熟练了程度的提高犯这些错误的机率自然就会减少了。

参考文献

[1].谭浩强.C程序设计 (第三版) [M].北京:清华大学出版社, 2005.

[2].杨路明.C语言程序设计教程[M].北京:北京邮电大学出版社, 2003.

[3].张军安.C语言程序设计基础教程[M].西安:西北工业大学出版社, 2006.

篇4:c语言常见编译错误

关键词:C语言;程序调试;常用技巧;常见错误

中图分类号:TP312.1 文献标识码:A 文章编号:1674-7712 (2012) 18-0032-01

当我们完成了C语言程序的源程序的编写之后,我们要使用C语言的编译器将其翻译成计算机能够执行的二进制代码形式的目标程序,再通过连接,最终形成可执行程序。但这个过程中可能会出现各类问题。比如编译未通过,连接未通过,或是生成了可执行程序,但并非我们的预期目标。

所谓程序调试,是指对程序的查错和排错。调试程序一般应经过人工检查,即静态检查;上机调试,即动态检查;运行程序,试验数据及检查和分析错误原因等几个步骤。

程序调试是一项细致深入的工作,需要下功夫、动脑子、善于累积经验。在程序调试过程中往往反映出一个人的水平、经验和科学态度。上机调试程序的目的决不是为了“验证程序的正确性”,而是“掌握调试方法和技术”。

一、调试过程中的一些常用技巧

1.先简后繁。先用一组简单的数据对程序进行测试,检验各函数是否有出错现象,然后用复杂数据对程序进行调试,直到确定程序对正常数据没有错误为止。

2.由大到小。出现错误时,要逐步缩小可能出现错误的范围,从整个程序到指定函数,再到指定区域,再到指定行。在对程序缩小范围或对编译没通过的程序缩小错误范围时可以用发“/* */”来进行调试,确定正常范围,缩小错误范围。

3.单步调试。编辑完C语言源程序并保存后,右按F8键进行主函数程序单步执行,如果源程序无语法错误,则每按一次F8键执行一句主函数程序,同时可用Ctrl+F7组合键设置所要跟踪的变量,以查看程序的执行进程,从而更容易查出程序的错误。但是,F8键只能单步执行主函数程序,它将调用非主函数视为一条语句执行,并不能转到被调函数的内部进行语句单步运行,所以在有些程序出错时,不能精确查出出错位置。因此,当主函数调用其它函数时,应当使用F7键,它能在F8键功能的基础之上,进一步深入到被调用函数内部,从而真正做到程序单步执行,即每按一次F7键,仅执行一条语句,遇到函数调用就转到被调用函数内部执行语句。当使用F8或F7进行单步调试时,应当用Ctrl+F7进行变量跟踪。

4.设置断点。断点就是程序运行中可能会中断的地方,方便开发者在程序运行的过程中查看程序当前的运行状态,比如变量的值、函数的返回值等等。F9用于在当前光标所在前行下断点,如果当前行已经有断点,则取消断点。有的地方不能下断点,比如空行、基本类型定义语句(未初始化)等等非执行语句。

二、常见错误分析

在实际的C语言编程过程中可能会出现各种各样的错误。这其中可能有算法错误,有因为对C语言中的某些语法知识理解的不正确而产生的错误,还有因为疏怱大意而产生的程序的录入错误等等。这些错误中,算法错误必须经过后期的试运行和调试才能解决,而其他错误是可以经过训练能够避免的。

(一)由于语法知识理解不正确而导致的错误

这类错误有时并不能被马上发现,因为有些情况下错误会被编译器识别并报错,而有些却不能被编译器识别,但运行结果却和预计的情况不一致。以下是在这方面常见的一些出错的情况。

1.转义字符的用法不当。决不能用的字符是由单个字符组成,而转义字符却是很特殊的一类字符,它是以一个键盘符号反斜杠“\”开始后跟上单个字符或是若干个字符组成的,通常用来表示键盘上的控制代码或特殊符号,例如回车换行符、响铃符号等。程序设计过程中有时不能正确地区分转义字符和普通字符。

2.有符号型转换成无符号型。在数据类型中,有时候会遇到将有符号的数据转换成无符号的数据。要想解决这个问题,我们一定要明白数据在计算机中是如何存储的。数据在机器中的存储是以二进制补码形式存储,正数的符号“+”用二进制0表示,而负数的符号“-”用1来表示,正数的原码补码相同,但是负数的补码是其原码的二进制位取反加1。这样来回转换很麻烦,也容易搞错。

3.“%”的连续使用。在C语言中“%”作为格式描述字符用在输入输出语句中,当我们需要将多个 “%”一起作用时则应特别注意。

4.break语句和continue语句。如果程序设计者搞不清楚break语句和continue语句,没有真正理解两者的含义,所以也容易犯错误。这两个语句都可以用在循环语句中,但两者的作用不同。break语句主要的作用是用来跳出该循环,提前结束循环,接着执行循环语句下面的语句;而continue语句主要作用是结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。

5.函数参数值传递。在函数参数传递的过程中,很多设计者很容易搞错实参在什么时候值不变,什么时候传值后改变。

6.带参宏定义的展开。C语言中带参的宏定义虽然看上去很简单,如果没有真正理解宏定义的话,在宏展开的时候很容易搞错。宏定义是通过#define开头的编译预处理命令来实现,在调用宏的时候要进行展开,并且再用实参去代换形参。

(二)录入过程中常见的错误

在源程序编辑过程中由于疏怱大意而产生的录入错误在所有的错误中不在少数,甚至占更大的比例,常见的错误有误把“=”作为“等于”比较符;使用自加(++)和自减(--)运算符时出错;混淆字符和字符串的表示形式;语句后面漏分号;输入输出的数据的类型与所用格式说明符不一致;忘记定义变量;未注意int型数据的数值范围;输入时数据的组织与要求不符;在不该加分号的地方加了分号;输入变量时忘记使用地址符;括弧不配对;switch语句的各分支中漏写break语句;引用数组元素时误用了圆括弧;对应该有花括弧的复合语句,忘记加花括弧;在用标识符时,忘記了大写字母和小写字母的区别;在定义数组时,将定义的“元素个数”误认为是“可使用的最大下标值”;误以为数组名代表数组中全部元素;对二维或多维数组的定义和引用的方法不对;混淆字符数组与字符指针的区别;用指针变量之前没有赋值;不同类型的指针混用;所调用函数在调用语句之后才定义,而又在调用前未加说明;将函数的形参和函数中的局部变量一起定义;函数的实参和形参类型不一致;没有注意函数参数的求值顺序;混淆数组名与指针变量的区别;误认为形参值的改变会影响实参的值;混淆结构体类型与结构体变量的区别,对一个结构体类型赋值;使用文件时忘记打开,或打开方式与使用情况不匹配。

以上只是列举了一些初学者常出现的错误,这些错误大多是由于对C语言的语法不熟悉造成的。对C语言使用多了,熟练了,错误自然就会减少了。在深入使用C语言后,还会出现其他一些更深入、更隐蔽的错误。

参考文献:

[1]韩京洋,向志强.C语言调试技巧[J].电脑编程技巧与维护,2012,16.

篇5:c语言常见编译错误

《c语言程序设计新视角》第九章 编译预处理小结 编译是把语句翻译成机器码,预编译是在译码前进行的处理法,文件包含把已有的文件为我所用来添加,宏定义的作用是替换,方便程序编辑的好方法,条件编译可实现按需编译,方便调试让代码适应性更佳。

篇6:IAR 6 20编译错误

1、①错误描述:Tool Internal Error:

Internal Error: [CoreUtil/General]: Access violation(0xc0000005)at 007588A5(reading from address 0x0)

Internal Error: [CoreUtil/General]: Access violation(0xc0000005)at 007588A5(reading from address 0x0)

Error while running C/C++ Compiler

②错误原因:High配置设置为Size,应该为Low2、①错误描述:Fatal Error[Pe1696]: cannot open source file “inc/hw_types.h” E:StellarisWareM3_9D92boardsdk-lm3s9b96boot_demo2boot_demo2.c 25②错误原因:C/C++ Complier(Assember)->Preprocessor->Additional include directories: $PROJ_DIR$.$PROJ_DIR$..$PROJ_DIR$......3、①错误描述:Fatal Error[Pe1696]: cannot open source file

“lwip/opt.h”

E:StellarisWareM3_9D92utilslwiplib.h 4

4②错误原因:C/C++ Complier-(Assember)>Preprocessor->Additional include directories:

$PROJ_DIR$......third_partylwip-1.3.2apps

$PROJ_DIR$......third_partybget

$PROJ_DIR$......third_partylwip-1.3.2portsstellarisinclude

$PROJ_DIR$......third_partylwip-1.3.2srcinclude

$PROJ_DIR$......third_partylwip-1.3.2srcincludeipv4

$PROJ_DIR$......third_partylwip-1.3.2srcincludelwip

$PROJ_DIR$......third_party4、①错误描述:Fatal Error[Pe035]: #error directive: Unrecognized COMPILER!E:StellarisWareM3_9D92boardsdk-lm3s9b96driversset_pinout.h 59

Error while running C/C++ Compiler

②错误原因:C/C++ Complier-(Assember)>Preprocessor->Defined symbols: ewarm5、①错误描述:Error[Pe020]: identifier “ROM_pvAESTable” is undefined E:StellarisWareM3_9D92third_partyaesaes.c 319

②错误原因:

6、①错误描述:Error[Li005]: no definition for “main” [referenced from cmain.o(rt7M_tl.a)]Error while running Linker

②错误原因:定义函数:int main(void){ return(0);}

7、①错误描述:Error[Li005]: no definition for “main” [referenced from cmain.o(rt7M_tl.a)]Error while running Linker

②错误原因:如果是库是库函数,在:General Options->Output->Output file:选择: Library项

4、①错误描述:Fatal Error[Pe1696]: cannot open source file “uip.h” E:StellarisWareM3_9D92third_partyuip-1.0appsdhcpcdhcpc.c 37

②错误原因:

5、①错误描述:

②错误原因:

$PROJ_DIR$......third_partylwip-1.3.2apps

$PROJ_DIR$......third_partybget

$PROJ_DIR$......third_partylwip-1.3.2portsstellarisinclude

$PROJ_DIR$......third_partylwip-1.3.2srcinclude

$PROJ_DIR$......third_partylwip-1.3.2srcincludeipv

4$PROJ_DIR$......third_party

$PROJ_DIR$......third_partyuip-1.0

$PROJ_DIR$......third_partyuip-1.0uip

$PROJ_DIR$......third_partyuip-1.0apps

$PROJ_DIR$......third_partyspeex-1.2rc1include

$PROJ_DIR$......third_partyspeex-1.2rc1includespeex

$PROJ_DIR$......third_partyspeex-1.2rc1stellaris6、①错误描述:Fatal Error[Pe035]: #error directive: You now need to define either FIXED_POINT or FLOATING_POINT E:StellarisWareM3_9D92third_partyspeex-1.2rc1libspeexarch.h 65②错误原因:

7、①错误描述:Fatal Error[Pe035]: #error directive: “Unrecognized/undefined driver for DISK0!”

E:StellarisWareM3_9D92third_partyfatfsportdual-disk-driver.c 6

2Error while running C/C++ Compiler

②错误原因:

UART_BUFFERED

DISK0_DK_LM3S9B96

DISK1_USB_MSC

INCLUDE_BGET_STATS8、①错误描述:Error[Pe020]: identifier “ROM_pvAESTable” is undefined E:SWM3_9D92(6.20)third_partyaesaes.c 359

Error while running C/C++ Compiler

②错误原因:

10、①错误描述:Fatal Error[Pe035]: #error directive: You now need to define either FIXED_POINT or FLOATING_POINT E:SWM3_9D92(6.20)third_partyspeex-1.2rc1libspeexarch.h 6

5Error while running C/C++ Compiler

②错误原因:

11、①错误描述:

Error[Li005]: no definition for “ROM_SysCtlClockSet” [referenced from E:SWM3_9D92(6.20)boardsdk-lm3s9b96safertos_demoDebugObjsafertos_demo.o] Error[Li005]: no definition for “ROM_FlashUserGet” [referenced from E:SWM3_9D92(6.20)boardsdk-lm3s9b96safertos_demoDebugObjlwip_task.o]

Error[Li005]: no definition for “ROM_IntPrioritySet” [referenced from E:SWM3_9D92(6.20)boardsdk-lm3s9b96safertos_demoDebugObjlwip_task.o]

Error[Li005]: no definition for “ROM_GPIOPinTypeGPIOOutput” [referenced from E:SWM3_9D92(6.20)boardsdk-lm3s9b96safertos_demoDebugObjled_task.o]

Error[Li005]: no definition for “ROM_GPIOPinWrite” [referenced from E:SWM3_9D92(6.20)boardsdk-lm3s9b96safertos_demoDebugObjled_task.o]

Error[Lp011]: section placement failed: unable to allocate space for sections/blocks with a total estimated minimum size of 0x11e54 bytes

in

<[0x20000000-0x2000ffff]>(total uncommitted space 0x10000).Error while running Linker

②错误原因:

12、①错误描述:

上一篇:计算机教室工作总结下一篇:党员批评已自我批评