1. centos7 gcc编译器对c11标准的支持
gcc-std=c11main.c-omain
前提是你的gcc版本得够新, 支持 c11才可以.
2. Visual Studio如何设置支持C++11的编译选项
1 悬停鼠标查看表达式值
调试是很有挑战性的。比如在函数内逐步运行可以看出哪里出错,查看堆栈信息可以知道函数被谁调用等等……但是无论哪种情况下,查看表达式和局部变量的值都是很麻烦的(把表达式和局部变量放到watch窗口里)。一种更简单的方法,把鼠标停在所需查看的数据上。如果是类或结构,那么点击展开可以很方便快速地查看其字段。
2 在运行过程中改变变量值
调试器不仅仅是分析程序崩溃和诡异行为的工具,还可以通过逐步调试检查数据和行为是否符合程序预期的方法解决许多bug。有时,你会想是否设置某些条件为真,程序就能正确运行了。其实你只要把鼠标移动到变量上,双击值,然后输入你需要的值。这样就不需要修改代码,重启程序了。
3 设置下一个运行位置
一个典型的调试案例是我们经常会用逐步调试的方法去分析为什么函数出错了。这时你遇到这个函数调用其他函数返回错误,而这个错误不是你想要的,你该怎么办?重启调试器?这里有个更好的方法,直接把黄色的运行位置箭头拖到你想要的运行位置。其实就是跳过中间运行代码,直接到想要的位置。很简单吧。
4 编辑然后继续运行
在运行一个很复杂的程序和插件时,发现一个错误,但是不想浪费时间去重编译重启动程序。很简单,只要在这个位置修改这个bug,然后继续调试。Visual studio会修改这个程序,使得你可以继续调试而不需要重启程序。
值得注意的是“编辑然后继续运行”这个功能有几个限制。一,它不能在64位代码上使用。如果想使用这个功能,到项目设置里的编译选项,选择”x86”作为目标平台。不要担心,这目标平台在reslease配置是和”debug是分离的,也就是说依然是”Any CPU”的设置。二,“编辑然后继续运行”这个功能仅适用于一个函数内部改变。如果你想要改变这个函数的声明或者增加新的方法,你只能选择重启程序,或者不做任何改变继续。如果修改的方法中包含lambda表达式,则意味着修改了编译器自动生成的委托类型,这样会导致编译器停止运行。
5 一个方便的查看窗口
大部分现代的调试器都有查看窗口。但是,visual studio的查看窗口使用特别简单,你能很方便的增加和删除变量。只要在窗口里点击空白行,输入表达式然后按enter键。或者点击表达式,按delete键删除不需要的表达式。
在调试窗口不仅仅可以查看普通的变量值,甚至可以输入$handles去追踪打开的句柄数量,$err去查看函数的错误代码(然后使用 Tools->Error 查看错误代码的描述)或者输入 @eax(在64位下是@rax )查看包含函数返回值的寄存器值。
6 注释反汇编
使用内部的反汇编功能使得优化局部代码更加简单。Visual studio可以在你的每一行代码下显示汇编指令,并且可以逐步调试汇编代码,也可以在任意位置设置断点。查看和修改汇编代码类似于c++。
3. 请教关于gcc编译文件时遇到C11支持的问题
由于系统比较复杂,首先用VC++.NET 2005 开发,在PC测试全部通过后,使用GCC编译时出现了两个警告,调试时出现一个错误.请高手指教:
1.编译器警告
Queue.h:20: warning: ignoring packed attribute on unpacked non-POD field `CommandPackage Queue::cmd[1]
请教原因
2.编译器警告
buffer.h:12: warning: alignment of 'Buffer::_ZTV6Buffer' is greater than maximum object file alignment. Using 1
3.调试器报错
AVR Simulator: Excessive stack overflow, stop sim
简单说明下程序的情况:
程序用了面向对象的设计,总共涉及了大约10+个类.其中报错了的是指令缓冲相关类.
Buffer继承出了E2PBuffer和CommBuffer,在类内部使用了一个CommandPackage(non-POD)类型组成的Queue类.其中Buffer及其两个子类还有Queue均报了以上两个警告.
我CommandPackage的大小是 10 Byte,缓冲队列最大数量是5,缓冲队列一共产生了6个实例.
由于编译器不支持new和delete,所有对象在全局实例化.并通过函数初始化函数将引用传进类
4. 怎样在linux环境编译支持C11
linux 安装的时候一般自动安装gcc 的工具 没有的话 在你yum 源配置真确的话 用yum install gcc 安装gcc工具 VI 一个脚本 编辑好后 用gcc 文件名 -o 输出的文件名 进行c或c++的编译 然后就可以运行脚本了
5. 斑贴实验c1++ c11 c17+ 是什么意思
C/C++有个C++标准委员会,这个组织是发布C/C++标准的。windows和linux(也有其他系统)上都会根据这个标准实现对应的C/C++接口给开发者。
C11的意思就是2011年,这个组织发布的C/C++标准。
C17就是2017年发布的C/C++标准。
每次发布都会对C/C++语言添加一些新的语法,比如C++11,就添加了lamda函数等新特性。所以这些新语法新特性就要重新学习。当然高版本的会向下兼容,就是你学习的C98(1998年)的语法,在现有的支持C17的编译上完全可以使用。
6. 如何让 MinGW 编译器支持 C++ 11
目前支持C++11的编译器
gcc 4.8以上版本
clang 3.1 以上版本
VS2013 及以上版本(有部分C11特性不支持)
DEV-C++最新版本都是支持C++11的(在编译选型中打开)
其他诸如Pelles C之类的小众编译器,基本也都支持了C++11
7. C89,C99,C11等C语言标准是干吗的
C语言的标准就是定义任何一个支持该标准的C语言编译器必须支持的语法和必须提供的库。新的标准是在旧标准的基础上进行扩展,一般都是向后兼容的。
不过现在的编译器对C语言标准的支持不太积极(主要精力放在C++上面),比如VC++编译器只是部分支持了C99,所以新的C语言标准不太实用,你最好还是好好学习C89标准,现在的C语言教程一般都是以这个标准。
8. c11是什么意思
C11标准是 ISO/IEC 9899:2011 - Information technology -- Programming languages -- C 的简称,曾用名为C1X。
C11标准是C语言标准的第三版,前一个标准版本是C99标准。2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC) 旗下的C语言标准委员会(ISO/IEC JTC1/SC22/WG14)正式发布了C11标准。
名词解释:
C11标准的最终定稿的草案是免费开放的,为N1570 [3] ,但是正式标准文件需要198瑞士法郎。
当前,支持此标准的主流C语言编译器有:GCC、Clang、Intel C++ Compiler等。
对IEEE754标准-2008的半精度浮点数的支持。尽管遵循GNU C标准规范的编译器(GCC以及Clang等)使用了C扩展关键字__fp16,但是只能对半精度浮点数进行引用,而不能做任何算术操作。因此,这个特性应当在下一个C语言标准中立马加入进去的,建议使用_Half作为半精度浮点数类型的关键字。
9. win7系统,能用c11的编译器有哪些
1、用 Visual Studio 2010 旗舰版,它是专为Win7打造的,其他的版本也可以兼容,而且支持VC/VB/C#多种语言开发,安装下来才2G多,是一款相当不错的开发软件。
2、用开发版的比较好,学习版的有些功能减掉了。
3、eclipseCDT也可以。纯绿色软件,解压缩就能用。完美支持win7。
4、学一门语言最好的方式就是 记事本+编译器。什么东西都要自己手写。这样映像才深。学的才透。
5、Visual Studio(VS) 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C++、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。