C++
阿高
只是个喜欢拿技术去炫耀的家伙
展开
-
const char*作为返回值的困惑
首先标题都不知道怎么样才能表达这个困惑,索性使用这个是因为当const char*作为返回值的时候有两个困惑之处:1、如果有下面的情况const char* Func(std::wstring wstr){ std::string s = TO_ACSII(wstr.c_str());//使用_bstr_t或者自己写的转换函数 return s.c_str();}原创 2012-11-17 20:56:47 · 8948 阅读 · 1 评论 -
FreeImage,想说爱你不容易
由于一些原因,各种免费图像处理软件已经不能满足需求,这时候就需要自己动手造轮子了。搜一搜,第一个找到的是FreeImage。不得不说,这个东西,实在是非常傻瓜,还怕你不会用,带了个Wrapper,其中就有C++版的FreeImagePlus,使用起来更是傻瓜到极致。一下子就完成了之前图片批处理的想法。一开始都是很圆满,包括自己弄的所谓的AJPG格式(颜色使用JPG,ALPHA使用PNG)。后来原创 2012-12-05 22:23:08 · 6022 阅读 · 0 评论 -
QT之桌面精灵实现(一) --- 透明窗体和图片绘制
关于QT种种,之前已经吐槽过了,打算写几篇记录一下桌面精灵的制作过程,不过由于是过了挺长时间才想要写,所以之前的一些东西都忘得差不多了,总之想起多少写多少。桌面精灵的第一步,就是要把一个精灵渲染到桌面,具体使用WINAPI做过一些,都不完美,也不想深挖WINAPI,因为我的目的只是想要把精灵渲染的桌面,而QT 很容易就能实现。另外说一下渲染精灵到桌面其实有两种途径,一种是直原创 2012-12-11 22:18:17 · 8928 阅读 · 3 评论 -
QT之桌面精灵实现(二) --- 右键菜单、开机启动、窗口Z-Order
1、右键菜单。这个其实用QT实现容易过头了,不过其中还是被卡了一下,就是给右键菜单选项前面打钩那个功能,首先是不知道该怎么形容,怎么搜都搜不到,后来去慢慢研究帮助文档,总算是弄出来了。首先才创建菜单项和添加项,然后绑定槽 act_about = new QAction(tr("关于"), this); act_autoRun = new QAction(tr("开机启动"), t原创 2012-12-12 19:59:17 · 5318 阅读 · 1 评论 -
C++多线程编程简单实例
转自:http://blog.sina.com.cn/s/blog_4ae717db01013z9m.htmlC++本身并没有提供任何多线程机制,但是在windows下,我们可以调用SDK win32 api来编写多线程的程序,下面就此简单的讲一下: 创建线程的函数HANDLE CreateThread( LPSECURITY_ATTRIBUTES l转载 2012-12-28 12:17:24 · 869 阅读 · 0 评论 -
QT浏览目录打开文件
不知道是不是因为关键字不对,搜到的都是一些自己实现的目录浏览,QT那么高端的东西不可能打开个文件都那么麻烦,好在想到之前下的一些案例里面就有,于是做个笔记这是个打开音乐文件的例子 QStringList files = QFileDialog::getOpenFileNames(this, tr("选择音乐文件"), QDesktopServices::s原创 2013-01-19 23:59:56 · 4268 阅读 · 0 评论 -
QT限制QTextBrowser/QTextEdit最大行数
看到一些家伙对于这个问题就直接自己处理字符串了,于是我的直觉告诉我,QT这样强大的东西不可能连这个小功能都做不到,于是经过各种关键字终于找到了,实际上设置的方法不在这两个类本身,而是在属性document里面,于是去看看QTextDocument就知道了,这个在是http://blog.csdn.net/goujieshuju/article/details/8228633看到的。于是一句话就原创 2013-01-21 00:24:44 · 16627 阅读 · 2 评论 -
std::map的陷阱 stack overflow
这个东西虽然看到很多测试说插入百万都没问题但是他们测试的往往是int类型做value 加入用自定义类型,特别是容器或者数组的时候,很容易堆栈溢出因为数才层数很高的时候,对堆栈消耗极大 为了方便,我是直接在std::map里面嵌套了std::list,这样就不用老是去new,省去了管理内存,结果debug没问题,release就直接堆栈溢出了。后来索性换成了stde原创 2013-04-20 14:07:35 · 1531 阅读 · 2 评论 -
Unity 使用C/C++ 跨平台终极解决方案(PC,iOS,Android,以及支持C/C++的平台)
PC的其实根本不用说,毕竟C#和C++交互的文章已经够多了,当然我自认为经过几次折腾后,几乎所有游戏需要到的操作我都掌握了(各种传参方法,各种坑,不懂的可以留言问,虽然基本上没人看,哈哈)废话不多说,我们主要来讲两大平台——iOS和android——与unity的native代码交互这里啰嗦一下就是去网上搜都是各种蛋疼的东西,比如如果要调用unity C#的原创 2015-08-22 23:19:37 · 22980 阅读 · 11 评论