C++ —— 编译程序
目录:
0、GCC online documentation
1、gcc编译器 常用命令
2、VC编译器 常用参数说明
3、C预处理器命令说明
4、debug 和 release 的区别
0、GCC online documentation
1、gcc编译器 常用命令
主要内容:(1) g++ helloworld.cpp -o helloworld
(2) gcc helloworld.cpp -lstdc++ -o helloworld
(3) g++ hellospeak.cpp speak.cpp -o hellospeak
(4) g++ -c hellospeak.cpp
(5) g++ -c hellospeak.cpp -o hspk1.o
(6) g++ hellospeak.o speak.o -o hellospeak
(7) g++ -E helloworld.cpp
(8) gcc -E helloworld.cpp -o helloworld.ii
(9) g++ -S helloworld.cpp
(10) ar -r libsay.a sayhello.o say.o
(11) g++ saymain.cpp libsay.a -o saymain
链接:http://www.cnblogs.com/iloveyoucc/archive/2012/08/29/2661851.html
3、C 预处理器 命令说明
主要内容:0、常见的预处理器命令 1.预处理器词法约定 2.宏的定义 3.宏扫描 4.预定义的宏 5.取消宏定义和宏的重定义
6.宏展开的优先级错误 7.把标记转换为字符串 8.宏展开中的标记合并 9.宏的可变参数列表 10.文件包含
11.条件编译 12.显示的行号 13.pragma指定 14.错误指令 15.关于一些旧编译器空白字符的预处理
链接:http://longsy.iteye.com/blog/349417
0、常见的预处理命令——
#和## 的 作用: // # ——将#后的宏标记转化为字符串 ## ——将两个相邻的宏标记连接成一个整体标记
#if _MSC_VER > 1000 #pragma once #endif
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#pragma 的详细用法
#pragma warning( pop ) 和#pragma warning( push )
#pragma warning(push [,n])警告级别的重要性
#pragma warning( warning-specifier : warning-number-list [,wrng-specifier : wrng-num-list...] )
warning-specifier : disable \ error \ default \ once
#pragma warning(disable: XXX)
...... (使得警告失效的代码)
#pragma warning(enable:XXX) [若没有enable 则使用 default]
#pragma comment( comment-type [,"commentstring"] )
在导出DLL函数 以及 comment-type是compiler,exestr,lib,linker 时 的使用说明
4、Debug和Release 区别
C++ —— 编译程序的更多相关文章
- delphi7 编译程序时报win32.indcu.a病毒的解决方法
Delphi7用了很久一直都没问题,同一个工程文件昨天编译时mod32还不会报毒,今天重新编译时,生成的exe突然nod32报毒. 提示: “Project1.exe Win32/Induc.A 病毒 ...
- Flex编译程序出现 Could not find compiled resource bundle 'SharedResources' for locale 'en_US'.
Flex编译程序出现 Could not find compiled resource bundle 'SharedResources' for locale 'en_US'. 而且静态类居然为nul ...
- 在Linux下如何使用GCC编译程序、简单生成 静态库及动态库
最近在编写的一个Apache kafka 的C/C++客户端,,在看他写的 example中,他的编译是用librdkafka++.a和librdkafka.a 静态库编译的,,,而我们这 ...
- ubuntu下 GCC编译程序出现 undefined reference to `std::ios_base::Init::Init()'问题
网上的解释是:“ you need to add -lstdc++, or use 'g++' rather than 'gcc' as your driver program.”,也就是说如果想要使 ...
- 减小Gcc编译程序的体积
众所周知,Gcc编译的原始程序一般很大,其实有几种方法能大大减小目标代码的体积,一般有以下几种方法. 基本知识来源:http://www.mingw.org/wiki/Large_executable ...
- MFC编译程序,缺少MFC动态链接库的解决
MFC编译程序,缺少MFC动态链接库的解决 问题:VS2010 c++编写的程序在别人的机子运行不了,缺少mfc100u.dll xxx100d.dll等的解决方法 解决方法: 1.将这些dll打包, ...
- RHEL 7特性说明(七):编译程序及工具
转载自:RedHat https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/7.0_Release ...
- windows下用vs2008和boost结合编译程序
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://co63oc.blog.51cto.com/904636/504469 win ...
- Delphi使用大图标编译程序
在Windows Vista. Windows7以上Windows系统中可以支持大图标显示了,但是Delphi编译出来的程序却只能显示32x32的图标,这使Delphi编译的程序看起来很不专业.下面就 ...
- VS2012 编译程序时报无法载入PDB文件错误解决方式
VS2012 编译程序时报无法载入PDB文件错误解决方式 "ConsoleApplication1.exe"(Win32): 已载入"C:\Users\hp\Docume ...
随机推荐
- DWZ框架学习一
测试DWZ框架弹出框设置成模态 刚刚上手DWZ框架,感觉灰常好用,对于我这种特别懒的人来说,真的是拖拽编程 看了下官方的视频讲解,自己试着做了一个小测试,里面的组件什么的都不用写,直接拿来用 这里附上 ...
- 从一个SVN下载的导入另一个SVN里面
如果项目是你从个一个SVN下载的,你想存入另一个SVN里面 那么问题来了 你用eclipse的team的时候会发现没有Team share 这个选项,那么就等于是没有上传的选项了 解决办法,把项目删掉 ...
- application/json IE 兼容问题
由于IE系列浏览器把application/json响应视为文件,并尝试下载在网上看了一下,大致了解,只要修改返回的内容的类型(ContentType)即可解决问题. 由于ajax请求,返回类型默认就 ...
- 七、C# 接口
并非只能通过继承使用多态性,还能通过接口使用它. 和抽象类不同,接口不包含任何实现(方法). 然后和抽象类相似,接口也定义了一系列成员,调用者可以依赖这些成员来支持一个特定的功能. 实现接口的类会 ...
- 分享Git的一些个人配置
先贴上自己.gitconfig的相关命令,我再具体说一下 diff.external=~/.git-meld.sh http.sslverify=false http.proxy=http://127 ...
- sql server2008附加数据库5120错误
解决方法: 附加数据库时,显示错误,错误信息为 一种解决方法为,设置mdf文件所在文件夹的权限(有些资料说只设置mdf文件的权限就好,但我试了不管用),在文件夹上右击——属性——安全,如图所示: 选择 ...
- 解决spring mvc 上传报错,Field [] isn't an enum value,Failed to convert value of type 'java.lang.String[]' to required type '
没有选择附件,但是点击上传按钮的时候会报错. 之前不选择文件,直接上传空文件是可以的,后来不知道改了什么就不行了. 错误信息: -- :: [http--] TRACE org.springframe ...
- C++学习笔记7——模板
函数模板: #include <iostream> using namespace std; template <typename T> T max(const T & ...
- socket本地模拟TCP 服务器+客户端(二)
建立两个py文件,分别打开两个cmd界面,即可进行通信.服务器端运用多进程,连续不断的处理从客户端接收到的数据:客户端通过一个list不断给客户端发送数据. (每个连接都必须创建新线程(或进程)来处理 ...
- 实验二:基于mykernel实现的时间片轮转调度
原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 如果我写的不好或者有误的地方请留言 ...