gcc -o 文件名(不带后缀) 源文件名
gcc -v -o a 1.c 显示详细的编译信息
编译过程如下:
/usr/lib/gcc/x86_64-linux-gnu/10/cc1
** as**
/usr/lib/gcc/x86_64-linux-gnu/10/collect2
处理宏定义等,如图
gcc -E
#include<stdio.h>
#define ABC 10
int main()
{
int a=ABC;
printf("new day \n");
return 0;
}
预处理指令
gcc -E -o 2.c 1.c
2.c文末可以看到代码如下
int main()
{
int a=10;
printf("new day \n");
return 0;
}
gcc -S
调用了cc1文件,生成了一个.s文件(汇编语言)
gcc -S -o a.s 1.c
gcc -c
调用as 生成二进制文件
gcc -c -o a.i 1.c
gcc -o
#include<fun.h>
与#include"fun"
<>在库里找
“”在当前文件夹下与库里都找
当一个头文件不在当前文件夹下,而在其他路径时,可使用
gcc -I 文件路径
如在1.c中加入
#include<fun.h>
在1.c所在的文件夹下并没有fun.h这个文件,fun.h位于该文件夹下的fun文件夹中,可用
gcc -I -o 2 1.c
在处理宏定义时也有一个注意的问题
#include<stdio.h>
#define ABC 10+8
int main()
{
printf("%d",ABC*5);
return 0;
}
#include<stdio.h>
#define ABC (10+8)
int main()
{
printf("%d",ABC*5);
return 0;
}
前者输出50,后者输出90
__FUNCTION__
__LIFE__
__FILE__
一般用于工程量大的时候调试用的
例程如下:
#include<stdio.h>
int main()
{
printf("%s %s %d",__FUNCTION__,__LIFE__,__FILE__);
return 0;
}
可以得到printf所在位置的函数名,文件名,行数的信息。
有时候程序里部分是用来调试用的代码,在正式使用时不适合表示出来,一行一行去//太过繁琐,可以通过一个宏定义来解决
#include<stdio.h>
#define ABC 10
int main()
{
#ifdef ABC
printf("DE_BUG\n");
#endif
printf("word\n");
return 0;
}
这样可以通过修改宏定义来一键开关debug,但这样要修改源文件,我们还有另一种更好的方法:
gcc -D
在源文件中删去宏定义ABC 的语句,如果我们想进入调试版本,可以:
gcc -DABC -o 2 1.c
切记D与宏定义名直接相连。
文章浏览阅读1.2w次,点赞2次,收藏14次。在option->toottip对象里面加formatter函数,代码如下:注意:参数params是series数组里面的每一个对象,params[i].data是返回具体的数值,如params[0].data依次返回11,22,33,44,55,66,77,88,99,78,78,199详情请查看官方文档:https://www.echartsjs.com/zh/option.html..._自定义柱状图悬浮展示内容echarts
文章浏览阅读4.7k次,点赞7次,收藏49次。SV中default input #1 output #1的解释_default input #1step
文章浏览阅读4.2k次,点赞11次,收藏13次。DataFrame:可以看出分布式Row对象的集合,在二维表数据集的每一列都带有名称和类型,这些就是schema(元数据)Select:col:某一列,as:重命名 filter:过滤groupBy() ,对记录进行分组sort排序。,并且可以从很多数据源中创建,如结构化文件、外部数据库、Hive表等数据源。DataFrame提供了两种语法风格,1 DSL风格语法,2 SQL语法风格。DataFrame:除了提供比RDD更丰富的算子外,更重要的特点是。,DataFrame可以完成RDD的绝大多数功能。_dataframe
文章浏览阅读942次。1. 基本介绍 /dev/random和/dev/urandom是Linux系统中提供的随机伪设备,这两个设备的任务,是提供永不为空的随机字节数据流。很多解密程序与安全应用程序(如SSH Keys,SSL Keys等)需要它们提供的随机数据流。 这两个设备的差异在于:/dev/random的random pool依赖于系统中断,因此在系统的中断数不足时,/dev/random设备..._/dev/random 安全随机数
文章浏览阅读273次。可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了!可能也有一大部分人知道递归,也能看的懂递归,但在实际做题过程中,却不知道怎么使用,有时候还容易被递归给搞晕。也有好几个人来问我有没有快速掌握递归的捷径啊。说实话,哪来那么多捷径啊,不过,我还是想写一篇文章,谈谈我的一些经验,或许,能够给你带来一些帮助..._递归 翻译字典 最佳实践
文章浏览阅读377次。Microsoft.NETFramework 4.5(在线安装 x86_x64)下载地址:点击这里!----------------------------------------------------------------------分割线---------------------------------------------------------------------------..._java的net包在哪下
文章浏览阅读5.6k次,点赞3次,收藏6次。前两天使用monkeyrunner都还是好好的,今天不知道电脑为啥抽风就运行不了报错“monkeyrunner不是内部或外部命令,也不是可运行的程序或批处理文件。”环境变量也没有问题,并没有修改过。研究了一番发现可能跟我用Android Studio把 SDK Tools从 25.1.3 更新到 26.0.2 版本有关系。更新之后 monkeyrunner.bat 文件的路径发生了改变,跑到了too_为什么说monkey不是内部程序
文章浏览阅读627次,点赞46次,收藏46次。百度Apollo开放平台自上线以来始终保持着创新和高频的自我迭代,从最开始聚焦于基础能力的搭建,走向侧重场景能力的发展,再升级为对平台工程易用性精益求精的追求。12月28日,百度Apollo开放平台面向所有开发者,正式推出了Apollo自动驾驶开放平台的全新升级版本——Apollo 8.0,进一步夯实了平台的易用性,让开发者操作更简单易上手。_apollo8.0
文章浏览阅读1.7k次。是 MyBatis-Plus 框架中的一个查询条件构造器,用于构建 SQL 查询的条件。还提供了许多其他的方法来支持各种不同的查询条件,如模糊查询、范围查询、排序等。还有其他更多的方法和功能,可以根据具体的业务需求进行查阅和使用。,你可以通过链式调用方法来设置查询条件,例如使用。你可以根据具体的查询需求,使用适当的。方法来构建查询条件。方法执行查询,并返回结果。方法设置不等于条件等。_querywrapper
文章浏览阅读3.9k次。QSqlQuery类参考[sql模块]QSqlQuery类提供了一种执行和操纵SQL语句的方式。 详情请见……#include <qsqlquery.h>被QSqlCursor继承。所有成员函数的列表。公有成员QSqlQuery ( QSqlResult * r )QSqlQuery ( const QString & query = QString::null, QSqlDa..._qsqlquery
文章浏览阅读2.0k次。话说,楼主之前9年多用的Java开发工具都是Eclipse,一直用着很不错。不过因为现在公司的小伙伴们大多都是用IDEA,所以逼迫自己一把,开始使用IDEA。真是不用不知道啊,IDEA真的是太好用了。以下我会整理一些IDEA使用的经验。Grep Console解决问题开发阶段,我们会经常看控制台打印的日志。但是不可能一行一行的一直盯着看吧。这时我们肯定会想到搜索功能,搜索后的效果是这个样子..._grepconsole idea社区版2021看不清
文章浏览阅读1.2k次。本文转载来自:https://www.cnblogs.com/qingyunzong/p/9004703.htmlKafka是Apache下的一个子项目,是一个高性能跨语言分布式发布/订阅消息队列系统,图展示了Kafka的相关术语以及之间的关系上图一个topic配置了3个partition。Partition1有两个offset:0和1。Partition2有4个offs..._kafka border.id=1 和等于1的区别