
C语言
ajuse
技术宅改变世界!
展开
-
cJSON修改已存在item的string方法
CJSON API库中并未实现修改string的功能接口,因此手动编写一个,代码如下:static void vtysh_cjson_add_string_to_object(cJSON * const object, const char * const name, const char * const string){ cJSON *item; if (object ==...原创 2019-12-24 09:35:02 · 2343 阅读 · 0 评论 -
C++ 从新手到概览
lambda表达式 比如:[capture](parameters)->return-type{bady} example:[](int x, int y){return x+y;},[](int x, int y) -> int {int z = x+y; return z;} 引用和指针的区别: 引用在创建的时候必须初始化,指针可以在任何时候初始化; ...原创 2019-10-24 10:20:20 · 192 阅读 · 0 评论 -
C语言宏定义中##,#,#@,\,不定参的用法
1.## 符号连接操作符 作用:将宏定义的多个形参转换为一个实际参数名。 例:#define fun(n) num##n fun(1) 代表num1 可用来定义或使用多个变量2.# 字符串化操作符 作用:将宏定义参数转换为带双引号的字符串 例:#define myprintf(str) printf("str is %s\n",#str);原创 2017-10-10 20:46:46 · 2339 阅读 · 0 评论 -
简单的通过宏定义实现自定义打印函数
宏定义自定义打印函数(1)用printf输出到终端#define UNIT_TEST_LOG(format...) \do{\ printf("" format); \ /* 这里的“”仅用作预编译时通过,也可以做连接字符比如加上一些自定义前缀 */}while(0);(2)用syslog输出到系统日志#define DBG_Out(level,f原创 2017-10-10 20:03:17 · 2746 阅读 · 0 评论 -
常用C语言字符串操作函数
1、字符串比较函数strcmp 原型:int strcmp(const char *s1, const char *s2) 参数:s1、s2是需要比较的两个字符串 返回值:(1)s1 = s2 return 0;(2)s1 > s2 return 正数;(3)s1 说明:strcmp()以二进制的方式进行比较,ASIIC码值比较,不会考虑多字节或宽原创 2017-01-13 17:43:48 · 448 阅读 · 0 评论 -
C语言如何编译动态库与静态库
关于动态库与静态库的作用这里就不在详细赘述了,重点说一下如何编译动态库与静态库及使用,一些大型的程序一般拥有着良好的架构,各个功能模块之间能够相互协调工作,达到预期的效果,但有的程序并不是所有的源码都是自己编写,特别像是用到芯片厂商的提供的库;能够把这些融合起来的就是需要提供的库; 原料:test1.c test2.c main.c (详细的代码不再详细列出来,大家都是开发者,都希望原创 2017-11-19 16:26:53 · 5756 阅读 · 1 评论 -
值得学习的C语言开源项目
值得学习的C语言开源项目- 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz21...转载 2018-10-30 20:52:40 · 304 阅读 · 0 评论 -
C语言生成随机数
1、关于C语言中有rand()函数来产生随机数,但是初始seed为1,这样做有一个问题,即会产生固定序列的数,比如单独调用rand()时会产生1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421…即使在其他进程中执行也会得到相同的序列...原创 2019-02-27 11:57:20 · 7114 阅读 · 0 评论 -
memcpy和memmove函数原型及区别
1、memcpy函数原型void *memcpy(void *dst, const void * src, size_t count){ assert((dst != NULL) && (src != NULL)); char *tmp_dst = (char *)dst; chat *tmp_src = (char *)src; ...原创 2019-03-07 15:19:27 · 1191 阅读 · 0 评论