C++
文章平均质量分 71
cedricporter
我的主页 http://EverET.org
展开
-
对于irrlicht由ISceneManager创建出来的对象dynamic_cast失效的看法RuntimeError: Access violation - no RTTI data
出现这种问题,会提示RuntimeError: Access violation - no RTTI data等,在由Boost导出到Python也会出现这种问题。 如果我们使用VS编译的话,我们可以开启RTTI的支持,不过这样会降低运行效率,我们可在 配置属性——C/C++——语言——启动运行时类型信息,将其设置为“是(/GR)”,然后重原创 2011-11-11 15:16:04 · 5836 阅读 · 0 评论 -
Boost学习系列6 - 多线程 (上)
作者: juan001 (2 篇文章) 日期: 九月 15, 2011 在 2:50 下午 一、概述线程是在同一程序同一时间内允许执行不同函数的离散处理队列,这使得在一个长时间进行某种特殊运算的函数在执行时不阻碍其他的函数时变得十分重要。线程实际上允许同时执行两种函数,而这两者不必相互等待。一旦一个应用程序启动,它仅包含一个默认线程。此线程执行main()函数。在main()中转载 2011-10-28 00:22:28 · 698 阅读 · 0 评论 -
boost::thread之while(true)型线程终结方法
我们的程序中经常会用到线程来执行某些异步操作,而有些时候我们的线程执行的函数是这个样子的:view plainvoid ThreadBody() { while( true ) { std::cout "Processing..." Sleep(1000); }转载 2011-10-27 00:43:12 · 1292 阅读 · 0 评论 -
Boost::thread库的使用
Boost::thread库的使用2009/11/26Kagula http://blog.csdn.net/lee353086/article/details/4673790 阅读对象本文假设读者有几下Skills[1]在C++中至少使用过一种多线程开发库,有Mutex和Lock的概念。[2]熟悉C++开发,在开发工具中,能够编译、设置boost::thread库转载 2011-10-27 00:38:31 · 1420 阅读 · 0 评论 -
C++使用boost python import 其他路径的模块
作者:华亮 http://blog.csdn.net/cedricporter我们在boost库下,我们很容易可以实现C++与Python的混合编程,现在我们想在C++下使用boost::python::import其他路径下的模块,我们该如何是好呢?原创 2011-10-19 00:12:06 · 2248 阅读 · 0 评论 -
boost python def 函数导出
Introductiondef() is the function which can be used to expose C++ functions and callable objects as Python functions in the current scope.翻译 2011-10-17 11:01:18 · 2889 阅读 · 0 评论 -
boost库之uBLAS线性代数(三)
boost库之uBLAS线性代数(三)2009-11-30 14:50矩阵 matrix 密集矩阵模板类matrix模板参数参数说明缺省值T转载 2011-10-15 11:24:14 · 3701 阅读 · 0 评论 -
海量数据Top K算法(C实现)
最近2天受到http://blog.csdn.net/v_JULY_v/archive/2011/05/08/6403777.aspx的影响,从头开始实现了这个算法。收获还是挺大的:(1)实现了Hash链表(2)实现了堆;(3)熟悉了C语言的文件操作; 海量数据处理的转载 2011-10-03 21:33:28 · 981 阅读 · 0 评论 -
sizeof的实现
首先,要明白:sizeof是一个运算符,而不是一个函数;在编译期间,计算得到结果:view plain#define my_sizeof(L_Value) ( / (char *)(&L_转载 2011-10-03 21:32:53 · 432 阅读 · 0 评论 -
Linkers and Loaders
Linkers and LoadersNov 26, 2002 By Sandeep Grover inSoftwareDiscussing how compilers, links and loaders work an转载 2011-08-31 00:39:11 · 953 阅读 · 0 评论 -
Linux 动态库剖析
进程与 APIM. Tim Jones, 顾问工程师, Emulex Corp.简介: 动态链接的共享库是 GNU/Linux® 的一个重要方面。该种库允许可执行文件在运行时动态访问外部函数,从而(通过在需要时才会引入函数的方式)减少它们对内存转载 2011-08-31 00:26:09 · 548 阅读 · 0 评论 -
C++开发者的VS2010(二)—— Lambda 表达式
匿名函数是那种没有函数名但有函数体的函数,很多动态语言都支持匿名函数。在VS2010之前,VC作为一种交低级的语言不支持类似的特性,但是VS2010引入了Lambda表达式,增加了对这个特性的支持。 早在C语言的时代我们就可以使用函数指针来将函数作为一个“对象”看待,后来C++标准库的出现又引入了函数对象。但是和那些动态语言相比,C++中编写函数对象的代价还是巨大的,有时候为了实现非常简单的转载 2011-10-28 21:07:25 · 2338 阅读 · 0 评论 -
boost::asio学习 - io_service的run,run_one,poll,poll_one的区别
在这几个函数里其实都是调用了do_one这个函数,而这个函数的作用就是从获取完成端口状态,所有定时器以及网络事件都是通过do_one来调度的,do_one的函数原型:size_t do_one(bool block, boost::system::error_code& ec)它的第一个参数说明了是否阻塞,在do_one代码中:BOOL ok = ::G转载 2011-10-28 20:37:17 · 6970 阅读 · 0 评论 -
Boost asio的async_write函数
Boost asio是一个异步网络通信的库,其中async_write是一个比较常用的函数,但是,如果没有正确的使用,就可能会出现一些意想不到的潜在Bug。例如下面的代码:for (int i=0; i < n; i++){ boost::asio::async_write( socket_, boost::asio::buffer( buffer[i转载 2011-10-28 21:28:19 · 24496 阅读 · 0 评论 -
redirect stdout/stderr to a string
Q:there has been many previous questions about redirecting stdout/stderr to a file. is there a way to redirect stdout/stderr to a string?A:Yes, you can redirect it to an std::stringstr翻译 2011-11-05 12:52:37 · 1595 阅读 · 0 评论 -
cout 重定向到文件
//打开输出文件 ofstream outf("out.txt"); //获取cout默认输出 streambuf *default_buf=cout.rdbuf(); //重定向cout输出到文件 cout.rdbuf( outf.rdbuf() ); //输出到文件 cout<<"输出到文件"<<endl; //恢复cout默认输出 cout.rdbuf(转载 2011-11-05 12:45:14 · 918 阅读 · 0 评论 -
stringstream 的用法介绍
stringstream 主要有两个作用:简化类型转换和一次性读入数据: 一、使用stringstream对象简化类型转换C++标准库中的提供了比ANSI C的更高级的一些功能,即单纯性、类型安全和可扩展性。在本文中,我将展示怎样使用这些库来实现安全和自动的类型转换。为什么要学习如果你已习惯了风格的转换,也许你首先会问:为什么要花额外的精力来学习基于的类型 转换呢?也许对下面一转载 2011-11-05 10:14:11 · 2503 阅读 · 0 评论 -
boost.asio服务器使用io_service作为work pool
无论如何使用,都能感觉到使用boost.asio实现服务器,不仅是一件非常轻松的事,而且代码很漂亮,逻辑也相当清晰,这点上很不同于ACE。使用io_service作为处理工作的work pool,可以看到,就是通过io_service.post投递一个Handler到io_service的队列,Handler在这个io_service.run内部得到执行,有可能你会发现,io_se转载 2011-11-03 17:22:41 · 1033 阅读 · 0 评论 -
boost::asio::ip::tcp::socket is connected?(如何知道socket已经连接?)
翻译:华亮 From:http://stackoverflow.com/questions/1511129/boostasioiptcpsocket-is-connected问题:I want to verify the connection status before realize my operations (read/write).Is there a w翻译 2011-11-03 20:32:27 · 2377 阅读 · 0 评论 -
Thread Interruption in Boost Thread Library
One of the new features introduced in the upcoming 1.35.0 release of the boost thread library is support for interruption of a running thread. Similar to the Java and .NET interruption support, this翻译 2011-11-04 10:04:02 · 1315 阅读 · 0 评论 -
关于asio中的io_service::run函数在没有任务时退出的问题
io_service::run函数在没有任何任务的时候将会自动返回,这对于WTL的项目来说并不方便,之前我有一篇文章讲到使用一个循环来运行该run函数,那是十分不优雅的。今天在网上再次查找办法,终于找到io_service::work类可以使io_service::run函数在没有任务的时候仍然不返回,直至work对象被销毁。boost::asio::io_service ios;boost转载 2011-11-03 18:10:15 · 5147 阅读 · 1 评论 -
gcc:call to '__open_missing_mode' declared with attribute error
错误如下gcc:call to '__open_missing_mode' declared with attribute error网上找了下,下面是原文 这纯属软件bug,因为使用open函数的时候,如果在第二个参数中使用了 O_CREAT,就必须添加第三个参数:创建文件时赋予的初始权限。而在gcc-3.3.6~3.4.4/gcc/的collect2.c文件中有漏掉第 三个参数转载 2011-11-19 16:19:31 · 7454 阅读 · 0 评论 -
Android 内核编绎错误解决方案
错误1: /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory 解决: sudo apt-get install libc6-dev-i386 错误2: host Executable: acp (out/host/linux -x转载 2011-11-19 20:00:23 · 819 阅读 · 0 评论 -
OpenGL实用开源代码列表
OpenGL实用开源代码列表有了网络的最大好处就是可以资源共享。网络是最大的知识库,也是最好的老师,正所谓“没有你想不到的,只有你找不到的”。以下是我收集的以游戏编程,OpenGL 3D编程相关的免费扩展库资料。不断更新中,如果你有好的建义,也请把函数库名及大概功能写上,本人负责收集整理。免费共享SDL在3D的世界里,SDL可真所胃是大名顶顶,正所谓“为人不知陈近南,自称英转载 2011-10-29 17:33:51 · 2102 阅读 · 0 评论 -
现代软件构建系统的使用 CMake简介
前言第一次见到CMake应该是在Eclipse中的编译工具链选项,但是一直没有太过在意,然后再次认识CMake与许多人一样,是通过KDE的源代码,当我上次查看KDE中右键菜单编辑时,接触了KDE的源代码时,很自然的需要KDE的构建系统,CMake,但是光是用用,也没有在意,直转载 2011-08-30 17:51:00 · 768 阅读 · 0 评论 -
横空出世,席卷互联网--评微软等公司数据结构和算法面试100题
横空出世,席卷互联网 ---评微软数据结构+算法面试100题作者:July。时间:2010年10月-11月。版权所有,侵权必究。出处:http://blog.csdn.net/v_JULY_v。说明:本文原题为:转载 2011-08-29 11:02:25 · 853 阅读 · 0 评论 -
程序员编程艺术第一~十章集锦与总结
程序员编程艺术第一~十章集锦与总结--面试、算法、编程 作者:July、编程艺术室。出处:http://blog.csdn.net/v_JULY_v 。 围绕“面试”、“算法”、“编程”三个主题的程序员编程艺术系列(简称TAOPP系列)从今年4月写第一篇转载 2011-08-29 11:01:00 · 647 阅读 · 0 评论 -
把Python嵌入C++的具体操作方案的介绍
ython在实际应用中具有很多的优点,C++ 也不例外,那你是否想过将Python嵌入C++ 时,它们在实际操作的过程中相关功能是否会得到最大限度的发挥? Python是计算机语言中在实际应用中较为简洁的语言,在其实际应用中可以避免很多其他语言在实际应用过程中转载 2011-09-23 17:57:23 · 476 阅读 · 0 评论 -
用c++和python写GUI程序(python嵌入方式)
用python写GUI相比C++好处多多:语法简洁灵活,不用编译,自动垃圾回收,等等。很让我这个c++程序员眼红,自然要好好研究一下。如果用纯python的方式很简单,qt或者wxwidget这个两个GUI库的python版本都已经很成熟,直接拿来用就行了。但在一些核心逻转载 2011-09-23 19:54:22 · 1683 阅读 · 0 评论 -
python脚本语言
为什么在游戏中使用脚本 在早期的一些游戏中,大部分的游戏逻辑都直接写入游戏代码,例如计算公式、游戏流程等。但随着游戏产业的不断发展,游戏开发本身也变得越来越复杂,游戏企划需要更多的时间来对游戏进行调整,如果游戏逻辑还写在代码中,则企划对游戏的每次修改都要通过程序进行,而转载 2011-09-23 19:43:57 · 1902 阅读 · 1 评论 -
python和C/C++的互相调用 VC
在C++中对Python进行调用,这里以VC2008为例。 一个整体的思路就是,在这种互相调用的库或者函数中,我们做的所有事目的是让它们各自明白对方。既然PYTHON是C写的,那么它的调用肯定跟普通的LIB,DLL差不多。首先安装PYTHON 2.5,在VC2转载 2011-09-23 18:31:36 · 948 阅读 · 0 评论 -
C/C++ 库函数 二分查找 bsearch
void * bsearch ( const void * key, const void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) );其翻译 2011-08-18 10:34:39 · 7046 阅读 · 0 评论 -
C/C++ 库函数快速排序 qsort
void qsort ( void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) );例子:/* qsort example */#inc翻译 2011-08-18 10:29:48 · 2293 阅读 · 0 评论 -
C++ vector 类学习笔记
作者: tyc611, 2007-01-15 发表于: http://blog.chinaunix.net/u/18517/showart_232126.htmlvector容器类型 vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象转载 2011-08-16 12:37:06 · 579 阅读 · 0 评论 -
我给大家讲2个c++的笑话
1:烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫2:十个手指头能表示多少个数?答案:1024从前有一对小情侣,女的是个程序员。有一天,她无意发现了她男朋友喜欢上了其他的女孩子,还经常的陪那女的逛街,于是,这个女想了一个很转载 2011-09-03 10:44:15 · 1536 阅读 · 0 评论 -
System.DllNotFoundException 问题分析与解决
<br /> 最近做C++大作业,界面是用C#构建,而程序处理核心使用native C++写的DLL,整个程序用VS2010编译,最初在我们三人的电脑开发测试时发现一切运行正常,但是当发给别人运行的时候,当WPF做的界面调用C++编写的DLL的时候,就会弹出System.DllNotFoundException错误,我把DLL放在System32和exe所在目录下发现问题依旧。<br /> 翻了很多中文网站似乎没有找到解决方案...后来在某外国网站看到,出现这种原因的可能性有:<br />1. DL原创 2010-08-26 09:17:00 · 23466 阅读 · 3 评论 -
获取系统进程 CreateToolhelp32Snapshot
1: #include 2: #include 3: #include 4: 5: int main( int argc, char* argv[] ) 6: { 7: PROCESSENTRY32 pe32; 8: 9: pe32.dwSize = sizeof( pe32 ); 10: 11: // 给所有可见进程拍快照 12: HANDLE hProcessSnap = ::CreateToolhelp32Snapshot原创 2010-07-09 23:12:00 · 762 阅读 · 0 评论 -
C++ 扩展和嵌入 Python
C++ 扩展和嵌入 Python作者:胡金山下载源代码Python简介 Python是一种简单易学,功能强大的解释型编程语言,它有简洁明了的语法,高效率的高层数据结构,能够简单而有效地实现面向对象编程,特别适用于快速应用程序开发,也可以用来开发大规模转载 2011-09-23 18:33:43 · 581 阅读 · 0 评论 -
编程修养
编程修养————陈皓http://blog.csdn.net/haoel什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能转载 2011-08-28 00:42:59 · 943 阅读 · 0 评论 -
在 C++ 中使用 Python script
想要在c++ 中嵌入script 代码, 除了自己写脚本引擎外, lua, python 都可以在c++ 中使用, 另外 MonoBind, AngelScript library 都是一些c++ script library, 可以嵌入到c++ 中使用 . 今天在c++转载 2011-09-23 18:32:26 · 751 阅读 · 0 评论