C语言
勤奋的伙计
这个作者很懒,什么都没留下…
展开
-
static函数与普通函数
全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不转载 2014-08-20 08:34:40 · 360 阅读 · 0 评论 -
ffmpeg实现YUV420缩放
读取YUV文件,然后实现将YUV视频缩小,直接上code:#include #include #include #include #include typedef struct{ unsigned int height; unsigned int width; unsigned long bufferSize; unsigned char *buff原创 2017-09-29 16:34:14 · 2515 阅读 · 0 评论 -
C语言数据转换问题
C语言数据转换的函数主要有:atof(将字符串转换成浮点型数) atoi(将字符串转换成整型数) atol(将字符串转换成长整数数) strtod(将字符串转换成浮点数) strtol(将字符串转换成长整型数) strtoul(将字符串转换成无符号长整型数) toasc原创 2014-09-27 20:29:19 · 631 阅读 · 0 评论 -
__VA_ARGS__用法(转)
自定义调试信息的输出 调试信息的输出方法有很多种, 例如直接用printf, 或者出错时使用perror, fprintf等将信息直接打印到终端上, 在Qt上面一般使用qDebug,而守护进程则一般是使用syslog将调试信息输出到日志文件中等等... 使用标准的方法打印调试信息有时候不是很方便, 例如Qt编程, 在调试已有的代码时, 我想在打印调试信息的地方, 把代码位置也打印转载 2014-08-08 22:35:55 · 460 阅读 · 0 评论 -
C语言中书写多语句宏的最好方法
通常的目标是书写一个象包含一个单独的函数调用语句的宏。这意味着“调用者” 需要提供最终的分号, 而宏体则不需要。因此宏体不能为简单的括弧包围的复合语句, 因为如果这样, 调用的时候就会发生语法错(明显是一个单独语句, 但却多了一个额外的分号), 就像在if/else 语句的if 分支中多了一个else 分句一样。 所以, 传统的结局方案就是这样使用:原创 2014-10-14 10:49:37 · 1032 阅读 · 0 评论 -
gcc动态链接库,静态链接库的使用
(一)gcc编译流程:假设要编译的文件为hello1.c1、预处理阶段(将C语言中的头文件加入到源文件中)gcc -E hello1.c -o hello1.i2、编译阶段gcc -S hello1.i -o hello.s3、汇编阶段gcc -c hello.s -o hello.o4、链接阶段gcc hello.o -原创 2014-10-12 17:03:52 · 939 阅读 · 0 评论 -
关于rand使用及随机数再现问题
下面shi#include #include #include #include #include int main(){ int ran[10]; int k; int ret; FILE * fd; time_t time_me; char buff[20]; unsigned long原创 2014-09-27 21:11:00 · 609 阅读 · 0 评论 -
C和C++中如何互相调用(#ifdef __cplusplus)
本文引用自:http://colding.bokee.com/6416780.htmlc.h的实现#ifndef _c_h_#define _c_h_#ifdef __cplusplusextern "C" {#endif void C_fun(); #ifdef __cplusplus}#endif转载 2014-09-04 09:14:27 · 1117 阅读 · 0 评论 -
union使用
ypedef union { struct { mfxU16 Minor; mfxU16 Major; }; mfxU32 Version;} mfxVersion;原创 2014-09-03 09:07:13 · 395 阅读 · 0 评论 -
CPU绑定技术
1 概念 什么是CPU Affinity?Affinity是进程的一个属性,这个属性指明了进程调度器能够把这个进程调度到哪些CPU上。 在Linux中,我们可以利用CPU affinity 把一个或多个进程绑定到一个或多个CPU上。CPU Affinity分为2种,soft affinity和hard affinity。sof转载 2014-08-08 22:40:15 · 761 阅读 · 0 评论 -
简答实用的宏的写法
本篇文章主要实现打印参数的传递,这里定义了一个宏。#define debug_printf(format, ...){\ printf("%s,%d: " format "", __func__, __LINE__, ##__VA_ARGS__);\}原创 2019-01-17 16:36:39 · 256 阅读 · 0 评论