more and more effective c++
文章平均质量分 72
gameSummer
这个作者很懒,什么都没留下…
展开
-
C++ 用libcurl库进行http通讯网络编程
目录索引:一、LibCurl基本编程框架二、一些基本的函数三、curl_easy_setopt函数部分选项介绍四、curl_easy_perform 函数说明(error 状态码)五、libcurl使用的HTTP消息头六、获取http应答头信息七、多线程问题八、什么时候libcurl无法正常工作九、关于密码十、HTTP验证十一、代码示例 1.基本的htt转载 2015-10-14 14:21:21 · 1066 阅读 · 0 评论 -
Cocos2d-x下使用iconv库
原文:http://blog.csdn.net/alex_my/article/details/10567541近来在客户端搭建打包APK的环境,以及解决中文乱码问题。网上找了很多资料,但总是各种不详细,非常麻烦。因此在这里把自己的过程详细记录下,如果有哪步不详细,请留言。 客户端使用的是cocos2d-x-2.0.4,是一个比较老的版本了。使用cygwin和eclipse交叉编转载 2014-12-10 11:26:53 · 983 阅读 · 0 评论 -
Apache Thrift的简单使用
Apache Thrift的简单使用---------------------- 1. 简单介绍Thrift是Facebook的一个开源项目,主要是一个跨语言的服务开发框架。它有一个代码生成器来对它所定义的IDL定义文件自动生成服务代码框架。用户只要在其之前进行二次开发就行,对于底层的RPC通讯等都是透明的。目前它支持的语言有C++, Java, Python, P转载 2015-02-02 09:51:22 · 647 阅读 · 0 评论 -
freetype 使用小结
FreeType是一个完全开源的、可扩展、可定制且可移植的字体引擎,它提供TrueType字体驱动的实现统一的接口来访问多种字体格式文件,包括点阵字、TrueType、OpenType、Type1、CID、CFF、Windows FON/FNT、X11 PCF等。FreeType函数库具有以下特点:(1)它使得客户应用程序可以方便地访问字体文件,无论字体文件存储在哪里,并且转载 2014-12-09 18:31:12 · 4174 阅读 · 0 评论 -
关于cocos2dx中文转UTF8码的解决方案
文章转载请注明出处:作者帘卷西风的专栏(http://blog.csdn.net/ljxfblog)cocos2dx支持中文显示,只要将中文字符转换成UTF-8字符集就可以正常显示,不过在实践上还是会出现很多问题会困扰开发者。通常来说,目前的解决方案有以下几种:1、把代码文件(.h/.cpp/.lua等)的文件编码格式改成UTF-8格式即可,这对于单机游戏来说是很好转载 2014-12-09 18:32:17 · 1363 阅读 · 0 评论 -
C++11中的匿名函数(lambda函数,lambda表达式)
这篇文章是根据维基百科整理来的,原文请看:http://en.wikipedia.org/wiki/Anonymous_function#C.2B.2B C++11提供了对匿名函数的支持,称为Lambda函数(也叫Lambda表达式). Lambda表达式具体形式如下: [capture](parameters)->return-type{body} 如果没有参数转载 2014-12-08 10:58:40 · 1184 阅读 · 0 评论 -
C++ function、bind以及lamda表达式
本文是C++0x系列的第四篇,主要是内容是C++0x中新增的lambda表达式, function对象和bind机制。之所以把这三块放在一起讲,是因为这三块之间有着非常密切的关系,通过对比学习,加深对这部分内容的理解。在开始之间,首先要讲一个概念,closure(闭包),这个概念是理解lambda的基础。下面我们来看看wikipedia上对于计算机领域的closure的定义:转载 2014-12-08 11:35:31 · 760 阅读 · 0 评论 -
android 加载 动态库问题
当需要将第三方代码加入我们的android工程时,或者为了增加反编译难度等原因需要编译动态库.so文件,就要注意以下几点:首先是编译出.so ,这时其实也可以编译成静态库然后链入最终的.so中。编译.so需要在android工程的jni中放入源文件(gcc,clang对纯C语法的检查很不严格啊?好多C语法错误是在win下编译才发现的,所以最好好好检查,以防今后使用中出现奇怪原创 2014-12-03 18:55:08 · 958 阅读 · 0 评论 -
决Visual C++ 编译器中混合 .c 文件时收到 C1853 预编译头错误的方法
决Visual C++ 编译器中混合 .c 文件时收到 C1853 预编译头错误的方法 当 Visual C++ 项目启用了预编译头 (Precompiled header) 功能时,如果项目中同时混合有 .c 和 .cpp 源文件,则可能收到 C1853 编译器错误:fatal error C1853: 'pjtname.pch' precompiled header file i转载 2014-12-03 11:49:51 · 692 阅读 · 0 评论 -
【干货】国外程序员整理的 C++ 资源大全
关于 C++ 框架、库和资源的一些汇总列表,由 fffaraz发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。标准库C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。Standard Template Library:标准模板库C POSIX l转载 2015-02-27 17:07:20 · 816 阅读 · 0 评论 -
stl中的一些小技巧
当需要根据类型重载一个函数的时候,可以在函数定义的时候只写形参类型,不写形参变量名。这样能够正常重载,可读性更明确,说明这个函数只是因为类型而重载,跟其中的值无关。using namespace std;struct FuckAaa {};struct FuckBbb {};void func(int base, FuckAaa){ cout << "fuckAaa : " <<原创 2015-02-28 14:15:04 · 959 阅读 · 0 评论 -
应用 Valgrind 发现 Linux 程序的内存问题
Valgrind 概述体系结构Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下图所转载 2015-06-15 11:10:46 · 686 阅读 · 0 评论 -
json格式及json在Python和C/C++中的使用
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,因而在工业界得到广泛应用。 json有转载 2015-06-17 17:39:59 · 1639 阅读 · 0 评论 -
linux线程锁的迷思
http://www.ibm.com/developerworks/cn/linux/thread/posix_thread3/#1当多线程想要等待某一条件成立时,用pthread_cond_wait来阻塞线程,首先明确wait的作用,pthread的wait与lock都可以阻塞线程等待“条件”成立,区别在于:wait之后的发送来的条件成立(pthread_cond_broad原创 2015-05-27 20:36:31 · 693 阅读 · 0 评论 -
printf()为什么有重入和性能上的问题?
最近在做linux服务器的时候,发现调用printf后性能大幅下降,究其原因如下http://blog.csdn.net/zhanghenglei/article/details/7322733这个概念在嵌入式操作系统中比较重要,由于存在任务的调度,它实时系统,可剥夺型内核中是危险的,如同一个安静的水雷。可能会被触发,也可能安然无恙。由于它运行结果的不可预期性,会使系统转载 2015-05-06 17:33:11 · 1848 阅读 · 0 评论 -
c++类函数指针
在研究quick-3.3的时候,跟踪触摸事件分发部分的函数,发现了一个少见(多怪)的写法: ->*。void Widget::pushDownEvent(){ this->retain(); if (_touchEventCallback) { _touchEventCallback(this, TouchEventType::BEGAN);原创 2015-03-09 14:41:37 · 791 阅读 · 0 评论 -
C/C++中volatile关键字详解
原文:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777432.html1. 为什么用volatile? C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 "The C++ Programming Languag转载 2015-03-09 13:49:13 · 643 阅读 · 0 评论 -
最值得你所关注的10个C语言开源项目
1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。 下载链接:http://home.tiscali.cz/~cz210552/we转载 2015-03-27 15:10:43 · 803 阅读 · 0 评论 -
彻底学习STL中的Allocator
Allocator是C++语言标准库中最神秘的部分之一。它们很少被显式使用,标准也没有明确出它们应该在什么时候被使用。今天的allocator与最初的STL建议非常不同,在此过程中还存在着另外两个设计--这两个都依赖于语言的一些特性,而直到最近才在很少的几个编译器上可用。对allocator的功能,标准似乎在一些方面追加了承诺,而在另外一些方面撤销了承诺。 这篇专栏文章将讨论你能用all转载 2015-03-02 17:36:45 · 1051 阅读 · 0 评论 -
NDK so库的调用和编译
NDK动态库的调用分两种情况。第一种是:so库和调用程序在同一个目录和源程序 通过同一个mk文件来编译;另外一种情况是so是外部已经编译好了的,调用程序加载调用。(博主:这两种其实是一样的,没有任何区别 -v-)下面我们就来分析下面2种so的调用情况:第一部分: 内部so调用 A. 先看下工程的目录:转载 2014-12-01 18:32:07 · 1089 阅读 · 0 评论 -
Android: NDK编程入门笔记-编译.so
原文:http://www.cnblogs.com/hibraincol/archive/2011/05/30/2063847.html为何要用到NDK?概括来说主要分为以下几种情况:1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。2. 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的。3. 便于转载 2014-12-01 18:27:36 · 809 阅读 · 0 评论 -
android 集成第三方静态库的编译方法
原文:http://blog.csdn.net/lizhiguo0532/article/details/7219349最近为java层将一个静态库通过jni层封装成了一个动态库工他们调用,遇到了一些编译上的疑惑,所以索性将其彻底搞清楚算了,免得以后误事。 下面的图片列出了所有相关文件,可以看到引用静态库的文件是com_xxx.cpp文件转载 2014-12-01 17:40:37 · 941 阅读 · 0 评论 -
extern C的作用详解
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。 这个功能十分有转载 2014-08-18 19:01:18 · 774 阅读 · 0 评论 -
CURL库在C++程序中的运用浅析
这个目录的文章转载freeeyes大牛的作品前一段时间自己写了一个抓取网页代码的类,来满目一些项目需求,结果发现并不稳定,在海量网页抓取的时候,存在一些异常导致抓取失败。虽然能满足大概的要求,但是功能上还是不能让我100%的满意,于是在站长的建议下,下载了一个CUrl通用库。第一次写这样的文章,有失偏颇处请谅解,呵呵。最近把CURL运用在自己的工程里,发现效果非常理想,尤其在海量数转载 2014-08-18 16:24:43 · 791 阅读 · 0 评论 -
C++ 用libcurl库进行http 网络通讯编程
一、LibCurl基本编程框架libcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,cookies,和用户认证。想要知道更多关于libcurl的介绍,可以到官网ht转载 2014-08-18 16:28:57 · 615 阅读 · 0 评论 -
js call c++
0.声明TT命名空间 类名test1.创建一个 2dx 的 js 项目。2.新创建一个 jsbRegister.cpp 文件,jsbRegister.h文件中声明一个全局方法。 #include #include "jsapi.h"#include "jsfriendapi.h"#include "Scripti转载 2014-06-17 17:43:31 · 871 阅读 · 0 评论 -
STL之队列的运用
原文有一xi'lie 卡片游戏:很好地介绍了队列的特点和应用桌上有一叠牌,从第一张牌开始从上往下依次编号1~n。当至少还剩两张牌时进行如下操作:把第一张牌扔掉,然后把新的第一张牌放到整叠牌的最后。输入n,输出每次扔掉的牌,以及最后剩下的牌。样例输入:7样例输出:1 3 5 7 4 2 6代码如下:[cpp] view plaincop转载 2014-06-16 11:03:51 · 597 阅读 · 0 评论 -
一个酷炫快速排序
浏览知乎时,引用一位知友写回答的快速排序问题。如下:看过Jon Bently那个快排,一辈子都忘不了了,背下来就可以了。void quicksort(int l,int u){ int i,m; if(l>=u) return; m=l; for( i=l+1 ; i<=u ; i++ ) if(x[i]<x[l])//buggy!!! swa转载 2014-03-27 13:51:09 · 948 阅读 · 0 评论 -
cocos2dx中的随机函数
1. int random = CCRANDOM_0_1(); 产生0~1之间的随机数2. int random =CCRANDOM_0_1()*100; 产生0~100之间的随机数但是,程序中用的是rand,觉得这个就够了呢转载 2014-03-17 00:01:14 · 1641 阅读 · 0 评论 -
对HelloWorld类不能找到create()函数的声明的推测
下面的代码中调用了HelloWorld::create();CCScene*HelloWorld::scene(){ // 'scene' is anautorelease object CCScene *scene = CCScene::create(); //创建场景对象,且自动回收内存 // 'layer' is anautorelease object原创 2014-03-01 22:41:19 · 1196 阅读 · 0 评论 -
[置顶] Cocos2d-x使用过程中遇到的错误(VS下开发,移植到Android发布)(更新ing)
环境:windows7, VS2010, cocos2d-1.0.1-x-0.12.0, cygwin, eclipse, android sdk4.0.3, ndk r7b在vs上开发,然后移植到android上.20120718CCArray的foreach操作:cocos2d-x 本地通知调用的问题 CCNotificationCent转载 2014-09-05 14:51:02 · 655 阅读 · 0 评论 -
JNI学习
JNI是在学习Android HAL时必须要面临一个知识点,如果你不了解它的机制,不了解它的使用方式,你会被本地代码绕的晕头转向,JNI作为一个中间语言的翻译官在运行Java 代码的Android中有着重要的意义,这儿的内容比较多,也是最基本的,如果想彻底了解JNI的机制,请查看:?http://docs.oracle.com/javase/1.5.0/docs/guide/jni转载 2014-09-19 12:02:05 · 704 阅读 · 0 评论 -
Android 安卓使用C/C++静态库/动态库指南
原文:http://blog.csdn.net/luofl1992/article/details/8663171目前我在做HM(HEVC测试软件)移植到Android平台,在移植过程中出现了一些问题,顺便记录下来,供大家分享。也让大家在出现问题是能够有一个参照。这些天忙着调试程序中出现的BUG,没有来得及更新。移植HM详细请看另外一篇日志:http://blog.cs转载 2014-12-01 17:38:17 · 3197 阅读 · 0 评论 -
解决Android在MAC OSX上编译缺少10.5SDK问题
在MAC OSX中下载Android所需的开发环境及代码, 官网有详细, 此处略下完代码, 配置完开发环境准备编译时,报了以下错误:[plain] view plaincopyPlease install the 10.5 SDK on this machine at /Developer/SDKs/MacOSX10.5.转载 2014-11-17 16:20:09 · 1520 阅读 · 0 评论 -
在 Mac OS X Lion 电脑中编译 gcc 4.6.1
在这篇文章中我们将讲述如何在 Mac OS X Line 计算机上通过源码方式安装最新的 GCC 稳定版本 4.6.1,而 Lion 上默认安装的 gcc 是 4.2.1.为恶劣编译 gcc 源码,你需要安装 gcc (哦,好纠结)假设你的电脑上已经装有最新的 Xcode,这对 OSX Lion 用户可以免费安装的。首先我们从 GNU 网站上下载最新的 GCC 源码,地址是:ftp转载 2014-11-17 15:24:21 · 730 阅读 · 0 评论 -
xcode 4 制作静态库详解
原文最近在做Apple的IOS开发,有开发静态库的需求,本身IOS的开发,只允许静态库或者Framework。在Xcode上没有找到允许编译,如同Android上的*.so和Win32上的dll这样的说法。不过Framework这样的框架,估计也是类似动态库的实现,不过没有具体研究过,后续继续深入研究。我这个文档的静态库的开发是基于Xcode4.2和iOS SDK5.0编写的。Xc转载 2014-11-14 13:02:13 · 451 阅读 · 0 评论 -
在 OS X 下编译 GCC
http://www.oschina.net/translate/compiling-gcc-mac-os-x?p=1在这篇文档里,我将向你介绍如何在你的OS X计算机上使用Graphite循环优化从源代码编译、安装目前稳定版本的GCC。这篇文档中的指令都是在Xcode 4.6.4和 Mountain Lion(OS X 10.8.4)下测试通过的。转载 2014-11-13 16:47:14 · 983 阅读 · 0 评论 -
C++访问sqlite3的初体验
Sqlite确实是一个比较好的本地数据库,从接触它的时候就喜欢上了它,它可以在很多情况下简化应用。不过以前都是在Java里面使用,或者Linux C下使用的,现在有个项目(C++)可能我会用到sqlite做数据持久化,所以先热热身。 第一步:下载相关文件 首先到这里下载sqlite-source-3_6_12.zip、sqlite-3_6_12.zip、 sqlitedll-3_6_1转载 2014-08-18 17:05:38 · 807 阅读 · 0 评论 -
虚函数与虚析构函数
在类中,有两个与众不同的成员函数,那就是构造函数和析构函数。当构造函数与析构函数遭遇继承和多态,它们的运行状况又会出现什么变化呢? 多态性是在父类或各子类中执行最合适成员函数。一般来说,只会选择父类或子类中的某一个成员函数来执行。这可给析构函数带来了麻烦!如果有的资源是父类的构造函数申请的,有的资源是子类的构造函数申请的,而虚函数只允许程序执行父类或子类中的某一个析构函数,岂不是注定转载 2014-09-11 15:39:42 · 646 阅读 · 0 评论 -
Cocos2dx---------------- TinyXml 解析 XML(推荐使用rapidxml)
原文:http://blog.csdn.net/ym19860303/article/details/8557239转载 2014-09-10 11:29:46 · 706 阅读 · 0 评论