frank_jiang的专栏

让总结成为一种习惯

多进程引用动态链接库中的全局变量问题

多进程引用动态链接库中的全局变量问题 现象描述: 前提:存在一个动态库libvlan.so,存在一个应用console。 做法:在console中调用libvlan.so中的两个APIs,分别是设置和获取动态库中一个全局变量的值。 结果:在console中的操作没有问题,设置和获取都正...

2019-05-23 16:37:09

阅读数 40

评论数 0

C语言函数隐式声明——implicit declaration warning

implicit declaration of function——函数隐式声明警告 原因: 1、该函数未被声明,但却被调用了,此时gcc会报这样的警告信息。 2、(网友总结)该函数所在源文件没有被编译为.o二进制文件。 解决办法: 1、在调用之前先声明这个函数,一般使用extern关键字(该...

2018-12-28 14:24:48

阅读数 197

评论数 0

C语言函数隐式声明(2)

1 什么是C语言的隐式函数声明 在C语言中,函数在调用前不一定非要声明。如果没有声明,那么编译器会自动按照一种隐式声明的规则,为调用函数的C代码产生汇编代码。下面是一个例子: int main(int argc, char** argv) {     double x = any_na...

2018-12-27 19:28:15

阅读数 64

评论数 0

C语言函数隐式声明(1)

这段时间,在看中心后台服务软件源码时发现,有很多自定义函数未经声明却能在主程序中被调用,主程序中没有包括上述函数的头文件,我在各个目录中也找不到上述函数的头文件。这就奇怪了,连使用标准库函数printf()都要包括标准输入输出头文件<stdio.h>,何...

2018-12-27 19:24:17

阅读数 342

评论数 0

字节序(byte order)和位序(bit order)

字节序(byte order)和位序(bit order)  在网络编程中经常会提到网络字节序和主机序,也就是说当一个对象由多个字节组成的时候需要注意对象的多个字节在内存中的顺序。   以前我也基本只了解过字节序,但是有一天当我看到ip.h中对IP头部结构体struct iphdr的定义时...

2018-01-10 20:05:01

阅读数 1021

评论数 0

C语言中关于字符数组和指针数组

做笔试题目的时候,碰到字符数组初始化的问题,居然一下子懵了。 在C语言中存储字符串有两种方法:字符数组和字符串指针 这两者的存储位置不同,首先字符数组(局部变量)是保存在栈中的;指针指向字符串时,则包括了两部分,指针本身,存储在栈中(局部指针变量),字符串本身存储在代码段(GCC中是这样)。 基于...

2016-10-21 20:04:27

阅读数 806

评论数 0

C语言之strcat函数

原本以为很简单的一个例子,结果让我郁闷了一个上午 虽然这个知识点也懂,但还是在实践中犯了错,一个上午的时间,多么痛的领悟啊

2016-08-23 14:13:01

阅读数 600

评论数 0

C语言之优先级、结合性与自增运算

     优先级、结合性这些概念在初学的时候并没有放在心上,今天又碰到这个问题,查了不少资料,再次做个总结。   在标准C语言的文档里,对操作符的结合性并没有做出非常清楚的解释。一个满分的回答是:它是仲裁者,在几个操作符具有相同的优先级时决定先执行哪一个。 每个操作符拥有某一级别的优先级,同...

2016-08-18 21:08:53

阅读数 2198

评论数 0

嵌入式软件工程师常见笔试题

> 预处理器(Preprocessor)  1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)  #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL  我在这想看到几件事情:  1). #define 语...

2016-07-06 20:56:21

阅读数 948

评论数 0

C语言之可变参数

可变参数总结:可变参数的函数原理其实很简单,是以宏定义来实现的,其实现跟堆栈相关。我们写一个可变函数的C函数时,有利也有弊,所以在不必要的场合,我们无需用到可变参数。如果在C++里,我们应该利用C++的多态性来实现可变参数的功能,尽量避免用C语言的方式来实现。 零、C函数调用的栈结构    可变...

2016-06-23 17:29:21

阅读数 327

评论数 0

C语言之memcpy函数

昨天自己动手实现memcpy这个函数,用一个例程试了一下,结果正确,满心欢心,可是有些地方想不明白,于是百度了一下,结果自己写的函数简直无法直视。 觉得还是写个总结,以示教训。 先贴上我自己的函数: char *mymemcpy(char *dest, const char * src, int...

2016-06-17 13:42:54

阅读数 30672

评论数 1

C语言中有关外部函数调用的问题

首先指出一点,我们通常所说的编译器并非仅指编译器,确切来说是编译工具链,里面包括了预编译器、编译器、汇编器和连接器。 对于外部函数实体(处于调用函数所在源文件之外的其他源文件中的函数),是在链接过程中,才会被寻找和添加进程序,一旦没有找到函数实体,就会报错,无法成功链接。 而外部函数的声明(一...

2016-06-16 21:44:57

阅读数 9656

评论数 0

字节序之大小端模式

全文http://hjctty.blog.51cto.com/1031616/550626   在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的...

2016-06-14 15:39:54

阅读数 6449

评论数 0

单片机中C语言指针与变量

指针与变量 注:keil中单片机C编程 若指针没有指向提前声明的变量,会产生混乱 eg: 情景一: 情景二: Type *p,*q; Type *p,*q,pp,qq; 给指针p赋值; p=&pp; 给指针q赋值...

2015-07-30 22:22:39

阅读数 1140

评论数 0

c语言中结构体指针

1、指向结构体的指针变量: C 语言中->是一个整体,它是用于指向结构体,假设我们在程序中定义了一个结构体,然后声明一个指针变量指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到指向运算符“->”.

2015-07-29 21:59:57

阅读数 11129

评论数 0

C语言中关于位域的介绍

有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。 为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为"位域"或"位段"。所谓"位域&...

2015-07-28 22:12:22

阅读数 6143

评论数 1

C语言中关于#ifdef _cplusplus extern "C"

面试时被问到过,不甚明了,网上百度一下,整合了两个仁兄的文章,如下。:-)   时常在cpp的代码之中看到这样的代码:  #ifdef __cplusplus extern "C" { #endif   //一段代码   #ifdef __cplusplus } #...

2015-06-11 18:21:29

阅读数 831

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭