社区
C++ 语言
帖子详情
.i文件是做什么用的
xiao_potato
2007-02-27 10:02:34
产品的代码出现不少.i文件,不是很明白其用途。
上网搜了些资料,http://ruger.linux-fans.com/2006/11/ 如下说:
.i 预处理后的C文件;编译,汇编
.ii 预处理后的C++文件;编译,汇编
有几个问题想请教一下各位:
1、.i文件相对于.cpp文件有什么不同?
2、什么情况下需要用.i文件?
3、用.i文件有什么好处?
4、VC编译器认.i文件吗?还是只有UNIX下的编译器才有这类文件?
...全文
5511
5
打赏
收藏
.i文件是做什么用的
产品的代码出现不少.i文件,不是很明白其用途。 上网搜了些资料,http://ruger.linux-fans.com/2006/11/ 如下说: .i 预处理后的C文件;编译,汇编 .ii 预处理后的C++文件;编译,汇编 有几个问题想请教一下各位: 1、.i文件相对于.cpp文件有什么不同? 2、什么情况下需要用.i文件? 3、用.i文件有什么好处? 4、VC编译器认.i文件吗?还是只有UNIX下的编译器才有这类文件?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
skfox
2007-02-28
打赏
举报
回复
其实这2种中间的目标文件在开发特别是调测分析定位问题中非常有用,通过这个预编译后生成的.i,.ii文件,对比源码文件,可以更好的理解编译器的预编译处理过程及相关机制,发现一些代码中隐藏的错误
systemthink
2007-02-28
打赏
举报
回复
gcc
认为预处理后的文件(.i)是C文件,并且设定C形式的连接.
g++
认为预处理后的文件(.i)是C++文件,并且设定C++形式的连接.
至于它们和 C/C++文件的区别,
就是一点, 预处理完成的工作,
比如 #if , #define 的替换等等 ...
(看看 C/C++ 预处理相关的知识)
acange
2007-02-28
打赏
举报
回复
1、.i文件相对于.cpp文件有什么不同?
你可以自己手动产生.ii 文件. 比如你有一个 x.c 源c++文件, 你在linux 下,可以 g++ -E x.c > x.ii 你可以比较一下他们的不同. x.ii是 经过预处理的文件. c 文件同上, 把g++ 换成别的.
2、什么情况下需要用.i文件?
你可以对.i 文件直接编译和联结,生成 可执行文件.
3、用.i文件有什么好处?
.i 文件 只是一个中间产物.无所谓好坏.
4、VC编译器认.i文件吗?还是只有UNIX下的编译器才有这类文件?
这个和预处理器 编译器有关.
jixingzhong
2007-02-27
打赏
举报
回复
gcc
认为预处理后的文件(.i)是C文件,并且设定C形式的连接.
g++
认为预处理后的文件(.i)是C++文件,并且设定C++形式的连接.
至于它们和 C/C++文件的区别,
就是一点, 预处理完成的工作,
比如 #if , #define 的替换等等 ...
(看看 C/C++ 预处理相关的知识)
jixingzhong
2007-02-27
打赏
举报
回复
它是环境相关的
mac下apk反编译工具,包括apktool、dex2jar、jd-gui
在Mac上,安装jd-gui-0.2.7.osx.i686.dmg后,你可以直接打开应用程序,拖拽.dex或.jar
文件
到其窗口中,以查看对应的源代码。 使用这三个工具的步骤通常是这样的: 1. 使用Apktool解压APK,提取出.dex
文件
和其他...
最全的common-FileUpload.jar包
5. 对于`FileItem`是
文件
的情况,可以使用`write()`方法将其保存到服务器指定位置。 在实际应用中,为了确保安全性和性能,需要注意以下几点: 1. 限制上传
文件
的大小,防止大
文件
导致服务器资源耗尽。 2. 检查
文件
...
jdk1.7 64位官方版 jdk-7u79-linux-x64.tar.gz
5. **NIO.2
文件
系统接口**:提供了更好的
文件
操作API,包括
文件
路径、
文件
属性以及异步I/O等。 6. **堆外内存访问**:通过DirectByteBuffer,可以直接在Java代码中访问操作系统分配的堆外内存,提高了处理大块数据...
gradle-3.3-all.zip 绿色版本,欢迎下载
对于Android Studio用户,可以将解压后的Gradle目录配置为项目的Gradle-wrapper.properties
文件
中的分布URL,这样即使在离线环境下,Android Studio也能识别并使用这个本地的Gradle版本进行构建。 总之,Gradle-3.3...
vs_setup.MSI
运行Microsoft Visual C++ 2005 Express Edition - ENU...将此
文件
命名为“ vs_setup.MS_ ”(注意最后那个不是I,是下划线)放在setup.exe同
文件
夹中即可 此
文件
是在线安装vc++速成版暂停时,临时
文件
夹中提取出来的。
C++ 语言
65,198
社区成员
250,522
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章