1. C语言编译器移植问题
楼主既要使用C语言编译器,又想使用C++编译器的话,编码风格要使用标准C语言的风格,这样C++同时可以兼容。
VC6编译报错可能是如下原因:
1、局部变量的定义和初始化必须在函数的最开始,不能放在函数的中间部分
2、scanf_s函数的使用,scanf_s并不是标准的库函数,有些编译器并没有该函数,推荐使用scanf函数,虽然不太安全
VS2013运行错误可能是如下原因:
1、很多带“_s”后缀的函数是为了让原版函数更安全,传入一个和参数有关的大小值,避免引用到不存在的元素,有时hacker可以利用原版的不安全性黑掉系统。比如:char d[20];写成scanf_s("%s",d,20);才是正确的,有这个参数20使准确性提高。既然使用了scanf_s函数,就不能单纯的写scanf_s(" %s [%d][%d]", s, &m, &n);,就需要对%s制定可以输入的最大字符才行
intm,n;//局部变量放在函数的最开始
chars[6];
intsize=4;
void*p;
int*q;
inti,j;
printf("请定义一个二维数组,格式如下:int[3][4] ");
printf("数组类型只限于int,char,float,int*,char* ");
printf("请只在声明数据类型和数据之间输入空格! ");
printf("本程序容错性很差,请按照要求谨慎操作! ");
scanf_s("%s[%d][%d]",s,5,&m,&n);//s,5,指明s最多接收5个字符
p=malloc(size*m*n);
q=(int*)p;
memset(p,1,size*m*n);
2. linux 下如何装 C 编译器
2004年4月20日最新版本的GCC编译器3.4.0发布了。目前,GCC可以用来编译C/C++、FORTRAN、java、OBJC、ADA等语言的程序,可根据需要选择安装支持的语言。GCC 3.4.0比以前版本更好地支持了C++标准。本文以在Redhat Linux上安装GCC3.4.0为例,介绍了GCC的安装过程。
安装之前,系统中必须要有cc或者gcc等编译器,并且是可用的,或者用环境变量CC指定系统上的编译器。如果系统上没有编译器,不能安装源代码形式的GCC 3.4.0。如果是这种情况,可以在网上找一个与你系统相适应的如RPM等二进制形式的GCC软件包来安装使用。本文介绍的是以源代码形式提供的GCC软件包的安装过程,软件包本身和其安装过程同样适用于其它Linux和Unix系统。
系统上原来的GCC编译器可能是把gcc等命令文件、库文件、头文件等分别存放到系统中的不同目录下的。与此不同,现在GCC建议我们将一个版本的GCC安装在一个单独的目录下。这样做的好处是将来不需要它的时候可以方便地删除整个目录即可(因为GCC没有uninstall功能);缺点是在安装完成后要做一些设置工作才能使编译器工作正常。在本文中我采用这个方案安装GCC 3.4.0,并且在安装完成后,仍然能够使用原来低版本的GCC编译器,即一个系统上可以同时存在并使用多个版本的GCC编译器。
按照本文提供的步骤和设置选项,即使以前没有安装过GCC,也可以在系统上安装上一个可工作的新版本的GCC编译器。
1. 下载
在GCC网站上( http://gcc.gnu.org/)或者通过网上搜索可以查找到下载资源。目前GCC的最新版本为 3.4.0。可供下载的文件一般有两种形式:gcc-3.4.0.tar.gz和gcc-3.4.0.tar.bz2,只是压缩格式不一样,内容完全一致,下载其中一种即可。
2. 解压缩
根据压缩格式,选择下面相应的一种方式解包(以下的“%”表示命令行提示符):
% tar xzvf gcc-3.4.0.tar.gz
或者
% bzcat gcc-3.4.0.tar.bz2 | tar xvf -
新生成的gcc-3.4.0这个目录被称为源目录,用${srcdir}表示它。以后在出现${srcdir}的地方,应该用真实的路径来替换它。用pwd命令可以查看当前路径。
在${srcdir}/INSTALL目录下有详细的GCC安装说明,可用浏览器打开index.html阅读。
3. 建立目标目录
目标目录(用${objdir}表示)是用来存放编译结果的地方。GCC建议编译后的文件不要放在源目录${srcdir]中(虽然这样做也可以),最好单独存放在另外一个目录中,而且不能是${srcdir}的子目录。
例如,可以这样建立一个叫 gcc-build 的目标目录(与源目录${srcdir}是同级目录):
% mkdir gcc-build
% cd gcc-build
以下的操作主要是在目标目录 ${objdir} 下进行。
4. 配置
配置的目的是决定将GCC编译器安装到什么地方(${destdir}),支持什么语言以及指定其它一些选项等。其中,${destdir}不能与${objdir}或${srcdir}目录相同。
配置是通过执行${srcdir}下的configure来完成的。其命令格式为(记得用你的真实路径替换${destdir}):
% ${srcdir}/configure --prefix=${destdir} [其它选项]
例如,如果想将GCC 3.4.0安装到/usr/local/gcc-3.4.0目录下,则${destdir}就表示这个路径。
在我的机器上,我是这样配置的:
% ../gcc-3.4.0/configure --prefix=/usr/local/gcc-3.4.0 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java
将GCC安装在/usr/local/gcc-3.4.0目录下,支持C/C++和JAVA语言,其它选项参见GCC提供的帮助说明。
5. 编译
% make
这是一个漫长的过程。在我的机器上(P4-1.6),这个过程用了50多分钟。
6. 安装
执行下面的命令将编译好的库文件等拷贝到${destdir}目录中(根据你设定的路径,可能需要管理员的权限):
% make install
至此,GCC 3.4.0安装过程就完成了。
6. 其它设置
GCC 3.4.0的所有文件,包括命令文件(如gcc、g++)、库文件等都在${destdir}目录下分别存放,如命令文件放在bin目录下、库文件在lib下、头文件在include下等。由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。
6.1 gcc、g++、gcj的设置
要想使用GCC 3.4.0的gcc等命令,简单的方法就是把它的路径${destdir}/bin放在环境变量PATH中。我不用这种方式,而是用符号连接的方式实现,这样做的好处是我仍然可以使用系统上原来的旧版本的GCC编译器。
首先,查看原来的gcc所在的路径:
% which gcc
在我的系统上,上述命令显示:/usr/bin/gcc。因此,原来的gcc命令在/usr/bin目录下。我们可以把GCC 3.4.0中的gcc、g++、gcj等命令在/usr/bin目录下分别做一个符号连接:
% cd /usr/bin
% ln -s ${destdir}/bin/gcc gcc34
% ln -s ${destdir}/bin/g++ g++34
% ln -s ${destdir}/bin/gcj gcj34
这样,就可以分别使用gcc34、g++34、gcj34来调用GCC 3.4.0的gcc、g++、gcj完成对C、C++、JAVA程序的编译了。同时,仍然能够使用旧版本的GCC编译器中的gcc、g++等命令。
6.2 库路径的设置
将${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中,最好添加到系统的配置文件中,这样就不必要每次都设置这个环境变量了。
例如,如果GCC 3.4.0安装在/usr/local/gcc-3.4.0目录下,在RH Linux下可以直接在命令行上执行或者在文件/etc/profile中添加下面一句:
setenv LD_LIBRARY_PATH /usr/local/gcc-3.4.0/lib:$LD_LIBRARY_PATH
7. 测试
用新的编译命令(gcc34、g++34等)编译你以前的C、C++程序,检验新安装的GCC编译器是否能正常工作。
8. 根据需要,可以删除或者保留${srcdir}和${objdir}目录。
3. windows10 c语言编译器最好安装在那个盘
只要不安装在系统盘里,装在其他的哪个盘都一样,还有,装的时候记得把文件名标注清楚,以后好用
4. C语言是怎么经过转换将变量的值存储在内存中的
C语言编译器负责将源代码中的十进制的10翻译成4字节数据:0A(16进制)(实际存储为二进制,但描述起来太长不方便一般用16进制显示和描述),而一个字节的10实际上的二进制就是你说的00001010。
实际上在处理存储之前需要先分配一个内存给变量 i,并在编译环境中注册登记这个变量名-地址关系(变量表),方便后续代码访问此变量时匹配到该地址,比如遇到 i=i+2时,编译器就会生成一个指令对该地址的值进行+2操作。此外还需要生成一个MOV指令代码指挥CPU执行:数据保存到该地址。
如果你对编译后的细节感兴趣,可以在调试时按CTRL+ALT+D(VS的快捷键,也可以通过菜单导航到“调试-窗口-反汇编”,其他编译器在调试菜单中找)切换到反汇编窗口查看编译结果,系统会逐条显示每一条语句对应的汇编指令。
当你对汇编指令感到好奇之后,可以看看汇编、编译原理、8086 CPU原理、以及数字电路的译码器 等书籍,不需要完全看懂,了解下会对你学习任何编程语言有帮助,不仅仅局限于C语言。
5. 请问在C语言中应该怎样去修改磁盘文件
需要用文件打开函数打开文件阅读进内存中,看你文件的格式,也许你可以用数组存你的文件,如果你的文件是每行不太长而且文件也不是太大的文本文件,可以采用下面的流程:1) 可以定义一个足够大的数组2) 打开原文件为阅读模式2) 每个数组元素存一行文本,逐行阅读,每行依次存入字符数组的每个元素。直到文件结束3) 关闭原文件4) 然后你修改数组的内容5) 改名原文件为备份文件名6) 打开一个新的文件为写出模式,新文件名为原文件名7) 写出数组内容到这个新打开的文件8) 关闭文件结束 如果文件较大,内存是一个问题,你可能需要同时打开2个文件,一个原文件为阅读模式,一个临时文件为写出模式,逐行进行阅读修改写出的操作,直到结束。
6. windows上如何卸载C语言编译器MinGW
windows上卸载C语言编译器MinGW方法:
方法一:
如图一在开始菜单中找到MinGW文件下的Uninstall, 直接点击卸载,按照程序的提示一步一进行卸载操作即可。
方法三:
如果面的都找不到,直接删除安装目录即可。把环境变量中path中有关相关的路径也删除。需要注意不要把自己需要的东西给删除了。
7. 大家初学c语言用的编辑器和编译器是怎么下载安装详细步骤
1.Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境.
相比于基于Delphi的Dev-C++共享 C++IDE,Code::Blocks是开放源码软件Code::Blocks由纯粹的C++语言开发完成,它使用了蓍名的图形界面库 wxWidgets(2.6.2unicode)版。对于追求完美的C++程序员,再也不必忍受Eclipse的缓慢,再也不必忍受VS.NET的庞大和高昂的价格。
2.安装主要步骤
安装Code::Blocks第一个正式版本 ver 8.02。
安装Code::Blocks的最新升级包。
安装Code::Blocks的简体中文语言包。
完成Code::Blocks的基本配置。
3.运行安装程序
下载得到一个执行的文件,双击后运行,请按照以下说明进行安装。
选择“Full/完整”安装,以免重要插件没有被安装上。
安装目标路径,不要带有空格,或者汉字;这一点并不是Code::Blocks的限制,而是因为mingw32里的一些命令行工具,似乎对长目录或带空格的目录支持有点小问题,我估计汉字目录也会出问题,但没试过。一句话,就装在根目录下的x(AB,C,D):CodeBlocks即可。
4.安装中文语言包
首先,请在 X:CodeBlocksshareCodeBlocks 建立一个子文件夹:locale,注意 locale 全为小写字母。简体汉字的语言包做了较大改进,不过仍然没改完,另外,一些插件在当前版本本来就无法汉化的,所以还有一部分内容是英语的。
点击下载d2school版Code::Blocks语言包。
下载后,请解压到前述的locale目录下,则locale目录下,应出现zh_CN和zh_TW两个子目录。重新启动Code::Blocks,点击主菜单的“Settings”,选择“Enviornment”。出现的对话框中,左边选中“View”,右边打勾“Internationalization (needs restart)”,并在后面的复合框中选中“Chinese (Simplified)”。确认退出本对话框。
5.必要配置
又分为两步,第一步用于检查系统环境变量,第二步用于检查Code::Blocks本身的配置。事实上,这也是很多类似IDE软件都需要做的准备工作之一。
虽然在多数情况下这两样配置在CodeBlocks安装以后,就已经正确配置上了。但是如果这两样配置有误,会带来Code::Blocks运行时的很多奇怪的问题,我们还是直接检查确保一下,同时加以了解。
检查并配置操作系统环境变量
在桌面上,鼠标右键点击“我的电脑”,选择弹出菜单中的“属性”。在属性对话框中,选中“高级”属性页。点击其下“环境变量”按钮,将新弹出一个对话框,如下图,选中“系统变量”下的“PATH”一行。然后点击其下“编辑”按钮,再次弹出一个对话框。
全选,并复制(Ctrl + C)第二行的内容。然后打开写字板程序,检查以下内容是否出现在复制过来的文字中:
X:CodeBlocksMinGWin; X:.4.5;
其中“X:CodeBlocks”应为您本机安装Code::Blocks时的路径。
如果没有,将所缺少的部分,录入到配置内容,所插入位置最好微靠前一点,注意包括其中的分号。
修改完之后,别忘了复制修改后的全部内容,粘贴,替换一路“确定”,关掉各级对话框。
6.Code::Blocks全局编译器设置
请大家首先到 X:CodeBlocksMinGWin下,搜索,检查有没有存在以下文件:
mingw32-gcc.exe —— 这是C的编译器。
mingw32-g++.exe —— 这是C++的编译器及动态库的连接器。
ar.exe —— 这是静态库的连接器。
gdb.exe —— 这里调试器。
windres.exe —— windows下资源文件编译器。
mingw32-make.exe —— 制作程序。
都没有问题,请点击c::b主菜单“设置”(汉化前的"Settings"),这次选中“编译器和调试器设置...”。,出现的对话框中,右边选中“全局编译器设置”
8. 如何安装C语言编译器
你可以,安装vc++,这个编译器简便,学校里的学生大部分用的都是这个
还可以使用vs,最新版应该是2015了吧,这个编译器更加专业,但是文件较大,所以安装比较麻烦,但是功能很强大,用的人也很多