c/c++编程
z_muyangren
这个作者很懒,什么都没留下…
展开
-
json_cpp使用
系统:Ubuntu16.04G++编译器:5.4.0jsoncpp源码:jsoncpp-src-0.5.0一、 编译源码,获取动态库获取源码链接:https://sourceforge.net/projects/jsoncpp/或https://github.com/open-source-parsers/jsoncpp# 先安装 scons$ sudo apt-get install scons$ scons platform=linux-gcc目标路径:动态库:./libs/linu原创 2020-05-30 22:50:50 · 240 阅读 · 0 评论 -
关于pthread_mutex_lock使用
关于pthread_mutex_lock使用关于pthread_mutex_lock常用函数如下:#include <pthread.h>int pthread_mutex_destroy(pthread_mutex_t *mutex);int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_...原创 2020-04-08 22:30:41 · 16001 阅读 · 1 评论 -
__attribute__ ((__packed__))
Redis-3.2.11源码 Redis在Src\Sds.h中构建了一种名为简单动态字符串(simple dynamic string, SDS)的抽象类型,其中定义结构体时用到了__attribute__ ((__packed__))。(其位置约束一般为放于声明的尾部“;”之前,为什么Redis源码中是放在struct之后?有知道的朋友还请指教。)struct __attribute__ (原创 2018-01-04 21:41:57 · 742 阅读 · 0 评论 -
__attribute__((format(printf, m , n)))
__attribute__ format 该__attribute__属性可以给被声明的函数加上类似printf或者scanf的特征,它可以使编译器检查函数声明和函数实际调用参数之间的格式化字符串是否匹配。该功能十分有用,尤其是处理一些很难发现的bug。#ifdef __GNUC__sds sdscatprintf(sds s, const char *fmt, ...) __attri原创 2018-01-04 22:49:50 · 1123 阅读 · 0 评论 -
c++的内联函数
一、内联函数的利弊利:1、不需要蒙受函数调用所带来的额外开销。2、编译器最优化机制通常被设计用来浓缩那些“不含函数调用”的代码,当inline某个函数时,编译器就可以对它执行语境相关最优化。弊:1、inline函数的整体观念是,将“对函数的每一次调用”都以函数本体替换之,这样会增加目标码大小。2、inline造成的代码膨胀会导致额外的换页行为,降低指令高速缓存装置的命中率,以及伴随这些而来...原创 2018-12-16 11:12:01 · 366 阅读 · 0 评论 -
c++的虚函数
#include <stdio.h>class Animal{public: Animal(){}; ~Animal(){}; void run(){printf("Animal is running!\n");} virtual void eat(){printf("Animal is eating!\n");} //有纯虚函数的类称为抽象类, 其不允许被实例化 ...原创 2019-08-09 22:55:26 · 111 阅读 · 0 评论