C/C++
vincent2610
晚来天欲雪,能饮一杯无
展开
-
C++标准转换运算符dynamic_cast
来自http://www.cnblogs.com/ider/archive/2011/08/01/cpp_cast_operator_part5.htmldynamic_cast (expression)dynamic_cast运算符,应该算是四个里面最特殊的一个,因为它涉及到编译器的属性设置,而且牵扯到的面向对象的多态性跟程序运行时的状态也有关系,所以不能完全的使用传统的转转载 2014-08-05 16:30:21 · 401 阅读 · 0 评论 -
win7下Qt安装调试器
问题: win7下使用Qt无法调试,一按调试按钮会出现“no engine”之类的错误,这是因为没有指定调试器。解决方法: 1. 打开网址:https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit 2. 选择Get (WinDbg) as part of Windows 8.1 SDK 3. 下载得到原创 2017-04-18 10:57:20 · 2420 阅读 · 0 评论 -
libcurl进行HTTP GET获取解析JSON数据
功能 在Mac下,利用libcurl库进行HTTP GET操作,循环获取json数据并解析。依赖库boostlibcurl代码#include <curl/curl.h>#include <curl/easy.h>#include <curl/curlbuild.h>#include <sstream>#include <iostream>#include <boost/pro原创 2017-03-30 15:29:43 · 14450 阅读 · 2 评论 -
Mac下静态库和动态库的创建和使用
1.演示代码add.cppint add(int a, int b){ return a + b;}main.cpp#include<stdio.h>int add(int a, int b);int main(){ printf("%d\n", add(1,2)); return 0;}2.静态库$ gcc -c -o add.o add.cpp$ ar -r原创 2017-02-21 17:59:47 · 10578 阅读 · 4 评论 -
快速掌握一个语言最常用的50%
来自http://blog.csdn.net/myan/article/details/3144661现在的开发工作要求我们能够快速掌握一门语言。一般来说应对这种挑战有两种态度:其一,粗粗看看语法,就撸起袖子开干,边查Google边学习;其二是花很多时间完整地把整个语言学习一遍,做到胸有成竹,然后再开始做实际工作。然而这两种方法都有弊病。第二种方法的问题当然很明显,不仅浪费了时间,偏离了目转载 2015-09-18 09:32:16 · 375 阅读 · 0 评论 -
C语言的字节对齐及#pragma pack的使用
来自http://www.cnblogs.com/dabiao/archive/2010/04/15/1712458.htmlC编译器的缺省字节对齐方式(自然对界)在缺省情况下,C编译器为每一个变量或是数据单元按其自然对界条件分配空间。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储(成员之间可转载 2015-07-08 15:05:13 · 387 阅读 · 0 评论 -
C++编译器与链接器工作原理
来自http://blog.sina.com.cn/s/blog_5f8817250100i3oz.html这里并没不是讨论大学课程中所学的《编译原理》,只是写一些我自己对C++编译器及链接器的工作原理的理解和看法吧,以我的水平,还达不到讲解编译原理(这个很复杂,大学时几乎没学明白)。要明白的几个概念: 1、编译:编译器对源文件进行编译,就是把源文件中的文本形式存在的转载 2014-03-11 14:05:08 · 475 阅读 · 0 评论 -
静态链接库、动态链接库和动态加载库
静态链接库来自http://www.cnblogs.com/nufangrensheng/p/3578784.html前言静态库是obj文件的一个集合(目标文件中通常仅解析了文件内部的变量和函数,对于引用的函数和变量还没有解析,这需要将其他已经编写好的目标文件引用进来,将没有解析的函数和变量进行解析,通常引用的目标是库),通常静态库以".a"为后缀,名字格式一般为libxx转载 2014-03-11 14:14:55 · 603 阅读 · 0 评论 -
为什么不要在构造函数中调用虚函数
来自http://www.cnblogs.com/carter2000/archive/2012/04/28/2474960.html先看一段在构造函数中直接调用虚函数的代码: 1 #include 2 3 class Base 4 { 5 public: 6 Base() { Foo(); } ///< 打印 1 7 8 virtual转载 2014-09-04 12:54:48 · 536 阅读 · 0 评论 -
揭秘 typedef四用途与两陷阱
来自http://niehan.blog.techweb.com.cn/archives/325.htmltypedef用来声明一个别名,typedef后面的语法,是一个声明。本来笔者以为这里不会产生什么误解的,但结果却出乎意料,产生误解的人不在少数。罪魁祸首又是那些害人的教材。在这些教材中介绍typedef的时候通常会写出如下形式: typedef int PARA; 这种形式跟#def转载 2014-05-23 13:06:22 · 418 阅读 · 0 评论 -
Linux如何查找动态库(编译、运行)
Linux GCC编译、链接生成可执行文件时,动态库的搜索路径顺序如下(注意不会递归性地在其子目录下搜索):(1) gcc编译、链接命令中的-L选项;(2) gcc的环境变量的LIBRARY_PATH(多个路径用冒号分割);(3) gcc默认动态库目录:/lib:/usr/lib:usr/lib64:/usr/local/lib。链接生成二进制可执行文件后,在运行程序加载动态库文件时,搜索的原创 2017-03-24 14:00:01 · 2485 阅读 · 0 评论