windows通过gcc编译代码】的更多相关文章

1.将gcc添加到环境变量 2.检查gcc是否安装成功 cmd下输入gcc –v 3.cd进入需要编译源文件的目录 4.dir查看当前目录下是否有需要编译的文件(linux下用ls) 5.编译文件(Hello.c) gcc Hello.c (默认在当前路径下生成a.exe) gcc Hello.c –o Hello  (当前路径下生成Hello.exe) 6.运行 在windows下无需 ./ ,直接 Hello或者Hello.exe Tips; 1.cd进入的目录可以直接拖入到Cmd命名窗口,…
问题描述 一般很多编辑器默认都是保存成utf-8文件,然而在输出中文的时候出现了乱码?另外试了其他方法,有的乱码,有的不乱? MinGW gcc 编译 utf-8 文件的时候乱码 MinGW gcc 编译 gbk 文件的时候正常 MinGW gcc 编译 utf-8 文件 -fexec-charset=gbk 显示中文正常 -finput-charset用来指定输入文件的的字符编码,如果不指定,将无法将L"中文"这样的字符正确转化为宽字符.相反,未指定输入文件的字符编码时,MinGW编…
一.error: 'for' loop initial declarations are only allowed in C99 mode 前段时间写了一个小C程序,放在linux下用gcc编译出错,弹出以下错误: 百度后才知道,是gcc的模式问题. 我在for循环里习惯直接定义并初始化变量来使用: for(int i=0:i<length: i++) 而在gcc编译时是错误的,应该在循环外定义变量: int i; for(i = 0; i<length; i++) 这样才编译通过. 这是因为…
C程序的编译过程       常用文件的后缀名: gcc编译c代码 1.gcc 常用编译选项: 2.gcc编译方法 testc.c: #include <stdio.h> int main() { printf("HELLO WORLD!"); system("pause"); ; } 1)一步到位编译为可执行exe程序: gcc testc.c               ---生成a.exe gcc testc.c -o testc     ---生…
转自:http://veikr.com/201207/windows_gcc_jni.html 1.安装MinGW,这个可以为windows提供gcc编译环境. 到http://sourceforge.net/projects/mingw/files/ 下载,是.exe的,在线安装,但很快.安装时选c compiler就行了,也可以把c++的也装了.安装完成后,为了方便使用最好配置一下环境变量.把MinGW/bin目录加入环境变量. 2.编写JAVA文件. 写个最简单的: ? 1 2 3 4 5…
转自:http://www.linuxidc.com/Linux/2012-01/52153.htm Linux系统下的c编程与Windows有所不同,如果你在用gcc编译代码的时候提示‘for’ loop initial declarations are only allowed in C99 mode,可能就是因为你在loop循环比如for中使用未预先定义的变量,比如: for(int i=0;i<10;i++) { } 这种写法在vc里是没有错的,而子gcc就会提示错误,要求遵守c89标准…
用GCC编译代码时候后面带有-std=c++1z 的选项,这是指定c/c++的标准.具体的标准如下,详细信息可以看引用里面的详细说明…
Linux编译Windows共享目录下代码(金庆的专栏)万神服务器代码是跨平台的.平时策划在Windows上开自己的服务器测试,测试和发布服务器为Linux.开发时,先在Windows上编译测试,再到Linux上编译测试.因为用VC开发,可以使用VAssist, MetalScroll工具辅助,开发效率高.VC编译通过,gcc编译仍会有出错.用CMake构建时,编译目录与源码目录是分开的,这样就可以在 Linux 上编译 Windows 共享目录下的代码.工作目录在Windows上,Linux下…
(有一些图片我是直接从个人的CSDN博客上复制来的) 最近一个多月来,我曾经多次尝试在Ubuntu 16.04 LTS上使用g++和gcc(这俩好像合起来叫MinGW?)来编译C/C++代码,但是在解决所有语法问题后还是会出现错误提示: /usr/bin/ld:error:/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o:ELF section name out pf range 图1 问题出现   这个问题从我换装…
前言 这学期学可视化程序设计,要使用 Windows API 绘制界面,由于笔者的笔记本硬盘太小,无法装臃肿的 VS(主要是不想装),也不想用 VC++ 6.0,所以就选用 GCC 来编译. 安装 msys2 下面为 64 位操作系统版本的 msys2 下载地址: http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20180531.exe 下载完成后,像普通软件一样安装即可. 安装 toolchain 安装完成后,在开始菜单下会有如下目录结构:…
想做一个能够在线编译代码运行的平台,Java和SQL已经支持了,因为是用Java写的后台,所以Java和SQL挺容易就实现了,做到支持C的时候就卡住了,网上搜了一下这种帖子好像很少. 我采取的办法是就是刚开始学C语言的教的调用GCC来编译.C文件的文件,首先将前端传过来的C代码写入到特定的路径下,然后利用Java的API调用CMD来执行gcc命令编译这个文件,这好像有点MakeFile文件的意思..编译之后继续调用CMD执行生成的exe,同时获取CMD的输出,至此整个过程完成,但是最后需要做好一…
除非明确说明,本文内容仅针对x86/x86_64的Linux开发环境,有朋友说baidu不到,开个贴记录一下(加粗字体是关键词): 用“-Wl,-Bstatic”指定链接静态库,使用“-Wl,-Bdynamic”指定链接共享库,使用示例:-Wl,-Bstatic -lmysqlclient_r -lssl -lcrypto -Wl,-Bdynamic -lrt -Wl,-Bdynamic -pthread -Wl,-Bstatic -lgtest("-Wl"表示是传递给链接器ld的参数…
GNU CC(简称为Gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C.C++和Object C等语言编写的程序.Gcc不仅功能强大,而且可以编译如C.C++.Object C.Java.Fortran.Pascal.Modula-3和Ada等多种语言,而且Gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,因此尤其适合在嵌入式领域的开发编译.本章中的示例,除非特别注明,否则均采用Gcc版本为4.0.0. GCC入门基础 表3.6 Gcc所…
今天突然被同事问道一个GCC编译命令为的问题,感觉对相应内容生疏了,赶紧整理下相关内容,梳理下相关知识. GCC命令提供了非常多的命令选项,但并不是所有都要熟悉,初学时掌握几个常用的就可以了,到后面再慢慢学习其它选项,免得因选项太多而打击了学习的信心. 一. 常用编译命令选项 假设源程序文件名为test.c. 1. 无选项编译链接用法:#gcc test.c作用:将test.c预处理.汇编.编译并链接形成可执行文件.这里未指定输出文件,默认输出为a.out. 2. 选项 -o用法:#gcc te…
在Linux使用GCC编译C语言共享库 对任何程序员来说库都是必不可少的.所谓的库是指已经编译好的供你使用的代码.它们常常提供一些通用功能,例如链表和二叉树可以用来保存任何数据,或者是一个特定的功能例如一个数据库服务器的接口,就像MySQL. 大部分大型的软件项目都会包含若干组件,其中一些你发现可以用在其他项目中,又或者你仅仅出于组织目的将不同组件分离出来.当你有一套可复用的并且逻辑清晰的函数时,将其构建为一个库会十分有用,这样你就不将这些源代码拷贝到你的源代码中,而且每次都要再次编译它们.除此…
1. 库的介绍 库是写好的现有的,成熟的,可以复用的代码.现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常. 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行.库有两种:静态库(.a..lib)和动态库(.so..dll). windows上对应的是.lib .dll linux上对应的是.a .so 在这里先介绍下Linux下的gcc编译的几个选项 g++ -c hellospeak.cpp 会将hellospeak.cpp 选…
转自http://www.cnblogs.com/azraelly/archive/2012/07/07/2580839.html GNU CC(简称为Gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C.C++和Object C等语言编写的程序.Gcc不仅功能强大,而且可以编译如C.C++.Object C.Java.Fortran.Pascal.Modula-3和Ada等多种语言,而且Gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,因…
GCC是GUN Compiler Collection的简称,除编译程序外,还包含其他相关工具.GCC可将高级语言编写的源代码构建成计算机直接执行的二进制代码.GCC是Linux平台下最常用的编译程序,也是Linux平台编译器的事实标准.GCC支持四十余种不同目标体系结构(如X86系列.ARM及PowerPC等),可运行在不同的操作系统上(如Linux.Solaris及Windows等).GCC既支持基于宿主的开发(即在A平台上编译该平台使用的程序),也支持交叉编译(即在A平台上编译供B平台使用…
转自:http://blog.csdn.net/princess9/article/details/6567678 一般来说要现有项目中的编译选项,设置新的project的编译选项 编译器 就是将“高级语言”翻译为“机器语言(低级语言)”的程序.一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 汇编程序 (assembler) → 目标代码 (object code) → 链接器 (Linker)…
本文主要解决以下几个问题 1).为什么要使用库? 2).库的分类 3).创建自己的库 为什么要使用库? 或许大家对自己初学 Linux时的情形仍记忆尤新吧.如果没有一个能较好的解决依赖关系的包管理器,在Linux下安装软件将是一件及其痛苦的工作.你装a包时,可能会提示你要先装b包,当你费尽心力找到b包时,可能又会提示你要先安装c包.我就曾被这样的事搞的焦头烂额,至今一提起rpm仍心有余悸,头皮发麻.说是一朝被蛇咬,十年怕井绳怕也不为过.Linux下之所以有这许多的依赖关系,其中一个开发原则真是功…
除非明确说明,本文内容仅针对x86/x86_64的Linux开发环境,有朋友说baidu不到,开个贴记录一下(加粗字体是关键词):用"-Wl,-Bstatic"指定链接静态库,使用"-Wl,-Bdynamic"指定链接共享库,使用示例:-Wl,-Bstatic -lmysqlclient_r -lssl -lcrypto -Wl,-Bdynamic -lrt -Wl,-Bdynamic -pthread -Wl,-Bstatic -lgtest("-Wl&…
Linux C 编程入门之一:gcc 编译动态库和静态库 cheungmine 2012 参考: C程序编译过程浅析 http://blog.csdn.net/koudaidai/article/details/8092647 1 准备工作 Windows7+Cygwin+gcc 在同一个目录下准备好下面3个文件,其中3-2,3-3用来生成动态库或静态库: 主调用程序源代码3-1:main.c /** * main.c */ #include <stdio.h> #include <ma…
来自http://blog.csdn.net/benpaobagzb/article/details/51364005 GCC 编译使用动态链接库和静态链接库 1 库的分类 根据链接时期的不同,库又有静态库和动态库之分. 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行. 有别于静态库,动态库的链接是在程序执行的时候被链接的.所以,即使程序编译完,库仍须保留在系统上,以供程序运行时调用.(TODO:链接动态库时链…
通过一些实际项目的开发,发现这样一个现象,在 Windows 下可以通过指定 __declspec(dllexport) 定义来控制 DLL(动态链接库)中哪些函数可以导出,暴露给其他程序链接使用,哪些函数是 DLL 内部自己使用:而在 Linux 下不存在 dllexport 这样的指示字,默认情况下 GCC 编译 SO(共享库)时把代码中的所有函数都导出了,那么如何实现 Windows 下的那种效果,由我们自己来控制共享库导出函数呢? 其实在 Linux 下也有类似的控制机制.在 GCC 帮…
gcc avl.o hash.o list.o rb.o example.o -o 123.exe 多个.o输出 exe -c和-o都是gcc编译器的可选参数.-c表示只编译(compile)源文件但不链接,会把.c或.cc的c源程序编译成目标文件,一般是.o文件.-o用于指定输出(out)文件名.不用-o的话,一般会在当前文件夹下生成默认的a.out文件作为可执行程序.   gcc:GNU编译器套件(GNU Compiler Collection)包括C.C++.Objective-C.For…
GCC(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器.它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分.GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux.BSD.Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows.GCC是自由软件过程发展中的著名例子,由自由软件基金会以GPL协议发布. GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为…
GNU CC(简称为Gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C.C++和Object C等语言编写的程序.Gcc不仅功能强大,而且可以编译如C.C++.Object C.Java.Fortran.Pascal.Modula-3和Ada等多种语言,而且Gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,因此尤其适合在嵌入式领域的开发编译.本章中的示例,除非特别注明,否则均采用Gcc版本为4.0.0. GCC入门基础 表3.6 Gcc所…
单个源文件生成可执行程序 下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: /* helloworld.cpp */ #include <iostream> int main(int argc,char *argv[]) { std::cout << "hello, world" << std::endl; ); } 程序使用定义在头文件 iostream 中的 cout,向标准输出写入一个简单的字符串.该代码可…
gcc 编译过程从 hello.c 到 hello(或 a.out)文件, 必须历经 hello.i. hello.s. hello.o,最后才得到 hello(或a.out)文件,分别对应着预处理.编译.汇编和链接 4 个步骤,整个过程如图 10.5 所示. 这 4 步大致的工作内容如下:(1) 预处理, C 编译器对各种预处理命令进行处理,包括头文件包含.宏定义的扩展.条件编译的选择等:(2) 编译,将预处理得到的源代码文件,进行“翻译转换”,产生出机器语言的目标程序,得到机器语言的汇编文件…
GCC-GCC编译流程浅析 序言 对于大多数程序员而言,大家都知道gcc是什么,但是如果不接触到linux平台下的开发,鲜有人真正了解gcc的编译流程,因为windows+IDE的开发模式简直是一条龙全套服务,开发者只需要关系代码逻辑与功能实现即可,但是,在享受便利的同时,必然也牺牲了一些灵活性. gcc是什么 国际惯例,先得介绍gcc是什么,gcc的原名为GNU C Compiler,专门针对C语言的编译器,而在后来计算机的发展中,GCC逐渐兼容了C++,java等语言,发展为扩展版的GCC,…