关闭

linux命令之创建符号连接-ln

由于linux编译出的so经常会在后面带有版本号,而程序加载的是不带版本号的so,导致经常出现so找不的情况,这个时候为带版本号的so创建一个符号链接(软链接)就好了。 在终端输入ln --help查看一下这个命令的用法如下: 用法:ln [选项]... [-T] 目标 链接名 (第一种格式)  或:ln [选项]... 目标 (第二种格式)  或:ln [选项]... 目标... 目录 (...
阅读(10) 评论(0)

c++构建工具之cmake使用小结

0.前言 使用cmake的过程先是要编写一个cmakelists.txt的文本,然后使用cmake命令生成对应平台的工程。 在windows下命令行或者使用cmake gui工具,生成vs工程,然后使用vs编译。 在linux下则是根据cmakelists.txt生成makefile,然后使用make命令调用编译。 cmake命令编译指定目录下的cmakelists.txt,具...
阅读(30) 评论(0)

c++构建工具之make使用小结

0.前言 这里并不详细的讲解make的原理和语法细节,主要是将编译成执行程序,动态库,静态库;工程在链接动态库,静态库时候的一些选项, 我们平时在安装编译开源工具或者库时也经常遇到的问题,makefile是一个很常用的东西了,关于原理和语法细节的东西,网上有很多详细的好文章。 这里不在重复,只是作为记录,多年后还能根据大致的内容了解。最简化的记录内容。 动态库,静态库的生成...
阅读(32) 评论(0)

c++构建工具之xmake使用实例

1.下载源码编译安装 在线源码 在线文档 makefile中有默认编译完成的安装路径: prefix:=$(if $(prefix),$(prefix),$(if $(findstring /usr/local/bin,$(PATH)),/usr/local,/usr)) 由于不想安装在系统中,修改为安装到当前目录(安装在系统目录的好处就是可以直接使用xmake命令不用带目录也不用配...
阅读(60) 评论(0)

c++构建工具之shell,configure,make,cmake,scons,xmake简析总结

说到编译工具,在windows下必言vs,在linux下必言make 0.shell 之所以要把shell放在这里,是因为下面那些工具都是类似shell脚本的语法,如果你熟练使用shell,使用其他几种工具构建工程将不是问题。 如果编译一个库的命令太复杂,或者为了方便,我们更愿意将编译命令写成一个shell脚本来执行,比如build.sh编译ffmpeg #!/bin/sh ./confi...
阅读(82) 评论(0)

C++中四种类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast要点解析

1.static_cast 可用于c++基本类型之间的转换,子类与派生类之间的指针转换,编译时检查转换有效性,不关联的类指针转换会在编译时报错,类不要求有虚函数。 typename dst_ptr = static_cast (src_ptr) 2.dynamic_cast 基类必须有虚函数,否则编译出错。c++在运行时不关系指针是什么类型的,关心的是指针指向的对象是什么类型的,简...
阅读(35) 评论(0)

最简单的基于FFmpeg的AVfilter的例子-修正版

了不起的年轻人雷霄骅走了,感谢他为音视频编解码领域做的无私奉献。 代码是参考雷神的博客的代码,不过由于ffmpeg版本不同,记录使用中遇到的问题。 1.调用avfilter_get_by_name("ffbuffersink")时在新版本的ffmpeg要修改为avfilter_get_by_name("buffersink"); 否则返回指针为空,调用avfilter_graph_creat...
阅读(67) 评论(0)

Visual Studio 2017开发linux程序之libevent使用实例

下载源码编译安装后,samle里面有个hello-world.c就是最简单的一个tcp server端程序了 /* This example program provides a trivial server program that listens for TCP connections on port 9995. When they arrive, it writes a shor...
阅读(58) 评论(0)

统一建模语言UML要点全面简析

统一建模语言UML要点全面简析 前言 uml就是一些图,一些由框框和线条构成的图,框框称为事物,线条表示4种关系,这些框框和线条的说明注释。   一.uml概述 统一建模语言(UML)是面向对象软件的标准化建模语言。 UML由3个要素构成:UML的基本构造块,支配这些构造块如何放置在一起的规则,运用于整个语言的一些公共机制。 UML的词汇表包括3种构造块:事物、关系、图 事...
阅读(30) 评论(0)

Visual Studio 2017开发linux程序使用实例及原理简析

1.下载安装vs开发linux程序的工具包 2.创建一个工程,选择跨平台里面的linux平台 3.写一段测试代码,这里就可以包含linux的系统头文件编译,不过vs下还是现实红的 #include #include #include #include #include #include #include #include #include #include #i...
阅读(64) 评论(0)

boost智能指针之shared_ptr,scoped_ptr,intrusive_ptr,weak_ptr源码简析

boost库实现了各种智能指针,基本上都纳入了c++11标准中,boost库的smart_ptr目录下就是各种指针的实现了: 1.shared_ptr template class shared_ptr { private: // Borland 5.5.1 specific workaround typedef shared_ptr this_t...
阅读(32) 评论(0)

Linux快速读取文件之文件映射c++实例

typedef struct file_info_value { std::string file_name_; long size_; int fd_; char *buff_; boost::recursive_mutex cond_mtx_; boost::condition_variable_any cond_var_; boost::atomic is_m...
阅读(43) 评论(0)

boost之asio实现定时器使用实例

#ifndef TCP_SERVER_H #define TCP_SERVER_H #include "boost_comm.h" #include "tcp_client.h" #include "session_manager.h" #include "command_machine.h" #include "task_engine.h" #include "search_engine.h...
阅读(49) 评论(0)

boost之对象池使用实例

这个主要用在http使用tcp支持短连接的情况,能快速获取连接对象而不用反复申请释放资源 #ifndef OBJECT_POOL_H #define OBJECT_POOL_H #include "boost_comm.h" #include "message_header.h" #include "tcp_client.h" namespace seemmo { //template ...
阅读(46) 评论(0)

boost之内存池使用实例

需要说明的就是初始化的时候指定的是内存池分配内存块的大小,而且内存池是非线程安全的,多线程要加锁 #ifndef BUFFER_POOL_H #define BUFFER_POOL_H #include "boost_comm.h" using namespace boost; namespace seemmo { class buffer_pool { public: buffe...
阅读(74) 评论(0)
255条 共17页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:121294次
    • 积分:2350
    • 等级:
    • 排名:第17465名
    • 原创:91篇
    • 转载:164篇
    • 译文:0篇
    • 评论:4条
    文章分类
    最新评论