![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++
文章平均质量分 93
擒贼先擒王
这个作者很懒,什么都没留下…
展开
-
C++ 网络库:libevent、libev、libuv、poco、libhv、asi、ace、QUIC 协议
C++ 网络库:libevent、libev、libuv、poco、libhv、asi、ace转载 2020-06-18 09:42:44 · 7226 阅读 · 2 评论 -
VS2019 使用 C/C++ 动态链接库 并 进行调用
1. VS中生成动态链接库的三种方式(导出函数)开发环境:VS2019创建动态链接库项目新建项目,搜索DLL ,选择 “具有导出项的(DLL)动态链接库 ”,输入项目名称,选择项目所在目录,然后点击 创建生成如下图所示的文件结构:导出动态链接库方法一 :声明导出1、以 C++ 的方式声明导出。在 ...原创 2020-03-03 23:07:40 · 17931 阅读 · 8 评论 -
在 VC++ 中使用 内联汇编
From:https://blog.csdn.net/root19881111/article/details/8450266VC++内联汇编(MSDN相关内容完整翻译):http://www.cppblog.com/xingkongyun/archive/2008/12/21/70003.html调 call 和 偷功能 时,VC中内联汇编容易产生的错误:https://www.5...转载 2019-10-13 18:05:08 · 1116 阅读 · 0 评论 -
C 语言 函数调用栈
From:https://www.cnblogs.com/clover-toeic/p/3755401.html https://www.cnblogs.com/clover-toeic/p/3756668.html 程序的执行过程可看作连续的函数调用。当一个函数执行完毕时,程序要回到调用指令的下一条指令(紧接call指令)处继续执行。函数调用过程通常使用堆栈实现...转载 2019-10-24 11:20:40 · 821 阅读 · 0 评论 -
压栈, 跳转,执行,返回:从汇编看函数调用
From:https://www.jianshu.com/p/594357dff57eC函数调用过程原理及函数栈帧分析:https://blog.csdn.net/zsy2020314/article/details/9429707从本篇开始,我们讨论一些高级语言中的基础设施:堆栈,函数调用,变量生命周期等等话题。因为这里本身会涉及到比较多的汇编层面的基础概念。为了向大家...转载 2019-10-24 16:45:06 · 2939 阅读 · 0 评论 -
__cdecl、__stdcall、__fastcall 与 __pascal 浅析
X86调用约定 calling convention:https://www.cnblogs.com/shangdawei/p/3323252.html__cdecl、__stdcall、__fastcall 与 __pascal 浅析:https://www.cnblogs.com/yenyuloong/p/9626658.html王爽 汇编语言第三版 第9章 转移指令的原理:ht...原创 2019-10-13 18:16:31 · 739 阅读 · 0 评论 -
sizeof与strlen的区别
1、sizeof是一个关键字,而strlen确实一个函数。2、sizeof求的是字节长度,而strlen求的却是实际长度。 比如int a=1;sizeof(a)==4而strlen(a)=13、sizeof求的是分配过来的长度,而strlen求的却是实际使用的长度。 比如:char a[30]="abcd"; sizeof(a)=30;而strlen(a)=4;4、strlen求的长度是以'\0'结束的。 比如char a[30];st转载 2017-12-29 22:23:03 · 1357 阅读 · 0 评论 -
C++常用字符串分割方法
C++常用字符串分割方法转载 2017-02-17 10:54:00 · 16007 阅读 · 0 评论 -
C 和 C++ 宏 详解
From:https://www.cnblogs.com/njczy2010/p/5773061.htmlC中的预编译宏详解:http://www.cppblog.com/bellgrade/archive/2010/03/18/110030.htmlC语言的宏总结:http://blog.csdn.net/pirlck/article/details/51254590C 语言中的 宏...转载 2018-01-16 22:09:40 · 8244 阅读 · 0 评论 -
站在巨人的肩膀上,C++开源库大全
程序员要站在巨人的肩膀上,C++拥有丰富的开源库,这里包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。转载 2017-01-25 17:10:41 · 490 阅读 · 0 评论 -
C 和 C++ 字符串格式化
gcc中格式化输出函数的研究和C语言格式化输出小结转载 2018-01-02 16:52:24 · 11345 阅读 · 0 评论 -
effective C++ 读书笔记
《Effective C++:改善程序与设计的55个具体做法》(中文版)(第3版)一共组织55个准则,每一条准则描述一个编写出更好的C++的方式。每一个条款的背后都有具体范例支撑。第三版有一半以上的篇幅是崭新内容,包括讨论资源管理和模板(templates)运用的两个新章。为反映出现代设计考虑,对第二版论题做了广泛的修订,包括异常(exceptions)、设计模式(design patterns)和多线程(multithreading)。《Effective C++》的重要特征包括:·高效的 clas原创 2018-03-14 09:50:08 · 2381 阅读 · 0 评论 -
设计模式
设计模式转载 2018-03-26 14:46:54 · 261 阅读 · 1 评论 -
C++ Programmer's Cookbook C++基础和C++高级
C++ Programmer's Cookbook C++基础和C++高级转载 2018-03-26 14:55:21 · 498 阅读 · 1 评论 -
gdb 调试命令的使用及总结
来源:http://www.jb51.net/article/36393.htm1.基本命令1)进入GDB #gdb test test是要调试的程序,由gcc test.c -g -o test生成。进入后提示符变为(gdb) 。2)查看源码 (gdb) l 源码会进行行号提示。 如果需要查看在其他文件中定义的函数,在转载 2017-01-13 11:26:59 · 5440 阅读 · 0 评论 -
error LNK2019: 无法解析的外部符号 WinMain,该符号在函数 "int __cdecl invoke_main(void)”中被引用
From:https://blog.csdn.net/u012570056/article/details/74639894一,问题描述MSVCRTD.lib(exe_winmain.obj) : error LNK2019: 无法解析的外部符号 WinMain,该符号在函数 "int __cdecl invoke_main(void)" (?invoke_mai...转载 2019-09-19 21:07:36 · 5615 阅读 · 0 评论 -
C++ 基本数据类型 的 字节数
From:https://www.cnblogs.com/qiumingcheng/p/7824919.htmlC语言入门经典——基础知识(数据类型):https://blog.csdn.net/weixin_42167759/article/details/80404815闲聊c/c++: 各平台下基本数据类型的字节长度:https://www.jianshu.com/p/1116...转载 2019-09-21 00:41:36 · 5315 阅读 · 1 评论 -
C++ 虚函数表解析
来源:http://blog.csdn.net/haoel/article/details/1948051C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel 前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类转载 2017-03-03 13:24:36 · 263 阅读 · 0 评论 -
Google 编程风格:C++、Python、JavaScript、Shell、TypeScript
Google 编程风格:C++、Python、JavaScript、Shell、TypeScript原创 2017-12-29 13:15:30 · 53807 阅读 · 11 评论 -
C 和 C++字符串详解
From:http://blog.csdn.net/fenxinzi557/article/details/51457829From:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.htmlCPP 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、转载 2017-03-17 11:24:37 · 2920 阅读 · 0 评论 -
C++的黑科技(深入探索C++对象模型)
来源:http://www.cnblogs.com/qiaozhoulin/p/5227673.html“如何产生一个不能被继承的类”,这道题我反反复复只想到,将父类的构造函数私有,让子类不能调用,最后归结出一个单例模式,但面试官说,单例模式作为此题的解答不够灵活,后来面试官提示说,可以用友元+虚继承,可以完美实现这样一个类当然那时我还不太明白,友元与虚继承我都极少接触过,转载 2017-03-03 14:54:38 · 554 阅读 · 1 评论 -
《深度探索C++对象模型(Inside The C++ Object Model )》学习笔记
来源:http://dsqiu.iteye.com/blog/1669614之前一直对C++内部的原理的完全空白,然后找到《Inside The C++ Object Model》这本书看了下, 感觉收获很大,因为书写得比较早,有些知识应该要更新,但是还是值得好好研读,由于该书的内容给人比较散的感觉,所以一直想找个时间整理一下,遂成此文,虽然都是抄书上的,但是却让我有了温故而知转载 2017-03-03 14:52:07 · 6559 阅读 · 0 评论 -
C++ 多继承和虚继承的内存布局
来源:http://www.oschina.net/translate/cpp-virtual-inheritance多重继承首先我们考虑一个(非虚拟)多重继承的相对简单的例子。看看下面的C++类层次结构。class Top{ public: int a;}; class Left : public Top{ public: int b;}; cla转载 2017-03-03 14:08:46 · 1535 阅读 · 0 评论 -
C++ 对象的内存布局
来源:http://blog.csdn.net/haoel/article/details/3081328前言07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么再写一篇续言的原因。因为,在上一篇文章中,我用了的示例都是非常简单的,主转载 2017-03-03 13:52:41 · 463 阅读 · 0 评论 -
C++ 模版实现自定义释放类对象成员的堆内存空间
#include using namespace std;templateclass AutoRelease{ typedef void (Type::* pFunc)(void);public: AutoRelease(Type* p, pFunc pfunc) :m_class(p), m_pFunc(pfunc) {} ~AutoR原创 2017-03-02 15:48:38 · 1598 阅读 · 0 评论 -
C++ 操作 Oracle
#include #include #include using namespace std;using namespace oracle::occi;struct Student_struct{ int no; int age; string name;};std::string getSQL(void){ std::string str_sql = "SEL原创 2017-02-22 19:04:12 · 3041 阅读 · 2 评论 -
C++函数指针详解
来源:http://www.cnblogs.com/ggjucheng/archive/2011/12/13/2286391.html指针的概念指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。转载 2017-03-02 15:11:16 · 377 阅读 · 0 评论 -
c++ Oracle OCCI 编程
来源:http://blog.csdn.net/gumingyaotangwei/article/details/7337893OCCI数据库Oracle编程步骤1. 配置环境(1) Occi访问数据库需要occi.h头文件,此文件在oracle安装目录下,必须有oracle库的支持。安装oracle服务端或客户端;(2) 配置NLS_LANG环境变量,必须与数据库的字符编转载 2017-02-17 12:58:06 · 2015 阅读 · 0 评论 -
C++ 异常处理
From : http://www.uml.org.cn/c%2B%2B/201305272.asp什么是异常处理一句话:异常处理就是处理程序中的错误。为什么需要异常处理,以及异常处理的基本思想C++之父Bjarne Stroustrup在《The C++ Programming Language》中讲到:一个库的作者可以检测出发生了运行时错误,但一般不知道怎样转载 2017-03-20 14:34:19 · 4294 阅读 · 1 评论 -
C++ stringstream
参考:http://www.usidcbbs.com/read-htm-tid-1898.html常见格式串%% 印出百分比符号,不转换。%c 整数转成对应的 ASCII 字元。%d 整数转成十进位。%f 倍精确度数字转成浮点数。%o 整数转成八进位。%s 整数转成字符串。%x 整数转成小写十六进位。%X 整数转成大写十六进位。%n sscanf转载 2017-03-10 16:15:15 · 414 阅读 · 0 评论 -
C++ 使用 TinyXml 解析 XML 文件
TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译,使用TinyXML进行C++ XML解析,使用简单,容易上手。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。 DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。原创 2017-12-02 19:00:01 · 2006 阅读 · 0 评论 -
深入理解程序从编译到运行
From:http://blog.chinaunix.net/uid-22327815-id-3540305.html从Hello World说程序运行机制:http://www.sohu.com/a/132798003_505868C/C++中如何在main()函数之前执行一条语句?:https://www.zhihu.com/question/26031933(深入理解计算机系统...转载 2017-10-17 10:47:18 · 23126 阅读 · 8 评论 -
C 和 C++ 文件操作详解
来源:http://www.cnblogs.com/likebeta/archive/2012/06/16/2551662.html来源:http://www.cnblogs.com/likebeta/archive/2012/06/16/2551780.html CPP 的文件操作 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,...转载 2017-03-09 16:12:58 · 17407 阅读 · 2 评论 -
C++对象模型
来源:http://blog.csdn.net/wxc1987821/article/details/59583251 前言了解你所使用的编程语言究竟是如何实现的,对于C++程序员可能特别有意义。首 先,它可以去除我们对于所使用语言的神秘感,使我们不至于对于编译器干的活感到完全不可思议;尤其重要的是,它使我们在Debug和使用语言高级特性的时 候,有更多的把握。当需要提转载 2017-03-03 14:26:15 · 306 阅读 · 0 评论 -
UML类图与类的关系详解
来源:http://www.uml.org.cn/oobject/201104212.asp来源:http://blog.csdn.net/longronglin/article/details/1454329来源:http://www.cnblogs.com/mimime/p/5827895.html统一建模语言(UML:Unified Modeling Lang转载 2017-02-23 19:27:14 · 596 阅读 · 0 评论 -
seekg()与tellg()相关文件操作
From: http://www.cnblogs.com/kex1n/archive/2011/01/28/2286423.html对输入流操作:seekg()与tellg()对输出流操作:seekp()与tellp()下面以输入流函数为例介绍用法:seekg()是对输入文件定位,它有两个参数:第一个参数是偏移量,第二个参数是基地址。对于第一个参数,可以是正负数转载 2017-05-04 11:17:38 · 684 阅读 · 0 评论 -
C++模板
来源:http://www.cnblogs.com/gw811/archive/2012/10/25/2738929.htmlC++模板 模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和转载 2017-03-13 10:55:23 · 495 阅读 · 0 评论