看了一圈网上也没有我能一下就能看的懂的配置教程 我就手打一篇给在用clion的同学来参考一下

本文适用于g++编译 cmake Ninja生成器

clion 默认使用的是CMAKE来构建程序 生成器用的是Chrome的Ninja

Ninja为了构建的速度,就连中间的文件(也就是我们的目标 .ii .s)都不输出了

我们要做的就是要把中间的文件保留下来

打开根目录下的CMakeList文件中加上

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -save-temps=obj")
set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -save-temps=obj")

第一行是对cpp文件的 第二行是对c的

大概意思就是在宏CMAKE_CXX_FLAGS上附加上参数-save-temps = obj

gcc的Debugging-Options有一个选项-save-temps,即保存临时文件,预处理和汇编都是生成object(.obj)的中间临时文件

好了 点击锤子(构建build) 可以在cmake-build-debug/CMakeFiles/untitle.dir下惊奇的发现每一个文件都对应了一个.ii 一个.s

这就是预编译文件了

把main.ii拖进去 就可以查看所有宏定义展开的模样

不过嘛。。就是汇编文件差了点味道 没有VS的贴心注释 连代码都定位不了

clion 预编译文件的查看的更多相关文章

  1. XCode6之后预编译文件的创建

    首先,在你的项目创建一个.pch预编译头文件(一直点Next)

  2. iOS开发之Pch预编译文件的创建

    在Xcode6之前,创建一个新工程xcode会在Supporting files文件夹下面自动创建一个“工程名-Prefix.pch”文件,也是一个头文件,pch头文件的内容能被项目中的其他所有源文件 ...

  3. iOS工程预编译文件的创建

    在搜索 添加工程名/自己的pch文件名记住加后缀  

  4. android 怎样内置/预置/预编译文件(运行程序,应用程序,apk, jar, lib 等随意文件)到系统中

    方法一:  如果要内置的软件名称为iperf.exe 1. 将iperf.exe放到Codebase的随意一个文件夹下(该文件夹必须可以在搜索Android.mk时被搜索到),比方system/ipe ...

  5. xcode6没有prefix.pch预编译文件解决办法

    注意到Xcode6创建的工程没有prefix.pch. 于是手动创建. 在other下选择pch文件 接着到工程的build setting下设置开启预编译并配置路径(文件的路径.因为我新建在cofi ...

  6. "未预编译文件 因此不能请求该文件"问题处理

    手里一个项目重新编译后发布,访问时提示未预编译文件“default.aspx”, 因此不能请求该文件.综合网上的解决方法,做了如下操作: 1.重新安装了AJAX Extension: 2.项目添加引用 ...

  7. (转)iOS开发之Pch预编译文件的创建

    本文转自 http://www.cnblogs.com/496668219long/p/4568265.html 在Xcode6之前,创建一个新工程xcode会在Supporting files文件夹 ...

  8. vs错误【C1083 C1854 C4727】的若干解决办法(对预编译文件头的解释)

    这几天写程序,无意间把编译中间文件给删了,然后就出现了C1083编译错误. xxx.cpp ..\commen\xxx.cpp(2) : fatal error C1083: 无法打开预编译头文件:“ ...

  9. WPF标准控件模板查看程序(文件里面)

    xaml <Window x:Class="ControlTemplateBrowser.MainWindow" xmlns="http://schemas.mic ...

随机推荐

  1. java-规约-日期和时间

    public class DateTime { public static void main(String[] args) { /**1 * 日期格式化时,传入的pattern表示年份统一用小写的y ...

  2. 您对 Distributed Transaction 有何了解?

    分布式事务是指单个事件导致两个或多个不能以原子方式提交的单独数据源的突 变的任何情况.在微服务的世界中,它变得更加复杂,因为每个服务都是一个工 作单元,并且大多数时候多个服务必须协同工作才能使业务成功 ...

  3. 指出在 spring aop 中 concern 和 cross-cutting concern 的不同之处?

    concern 是我们想要在应用程序的特定模块中定义的行为.它可以定义为我们想 要实现的功能. cross-cutting concern 是一个适用于整个应用的行为,这会影响整个应用程序. 例如,日 ...

  4. 学习Docker(二)

    一.Docker快速入门 Docker 改变了什么? 1.简化配置 2.流水线管理 3.应用隔离 4.提高开发效率 5.快速部署 6.面向产品:产品交付 7.面向开发:简化环境配置 8.面向测试:多版 ...

  5. java-LinkedMap

    输入一组数,输出是按每个出现的频率,比如1,3,3,4,5,9,9,9,3,3,输出为3,3,3,3,9,9,9,1,4,5如果频率一样就按原顺序输出. package com.lyb.array;i ...

  6. CSS 文本控制

    one more time one more chance. 一歩重头学前端, css入门. 学习一些 CSS 文本控制的属性,防止做傻事.请大家对照下面列表检验下: 会的.不会的.似懂非懂的.笔者是 ...

  7. 小程序输入框闪烁BUG解决方案

    前言 本人所说的小程序,都是基于mpvue框架而上的,因此BUG可能是原生小程序的,也有可能是mpvue的. 问题描述 在小程序input组件中,如果使用v-model进行双向绑定,在输入时会出现光标 ...

  8. echarts中饼图的legend自定义icon图片(扇形为例)

    效果图: 代码: 问题:// icon: "pin", // 这个字段控制形状 类型包括 circle,rect ,roundRect,triangle,diamond,pin,a ...

  9. docker容器与虚拟机区别

  10. python---virtualenv创建管理虚拟环境

    virtualenv创建虚拟环境 安装包virtualenv pip install virtualenv 常用命令 # 为项目创建虚拟环境 cd project_dir virtualenv env ...