自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

原创 利用内存断点(数据断点)结合windows CRT 定位堆栈溢出问题

公司司产品经过这三年的迭代已经非常复杂了,代码量超过10万,而且混杂了来自韩国,美国,台湾,北京好几个团队的贡献,加上跨现流行几大移动平台(android, ios)。维护,优化和定位bug已经远不如以前容易了。所以常常借助了比较的工具平台(valgrind, cpplint, intel vtunes)。 内存断点是定位内存错误方案中最好的解决方案了。

2014-10-15 22:06:58 1758 1

原创 ModernC++开发实践--如何高效的传递对象给异步方法

来自我的github:https://github.com/buffer8848/ModernCPP/blob/master/ModernC%2B%2B%E5%BC%80%E5%8F%91%E5%AE%9E%E8%B7%B5--%E5%A6%82%E4%BD%95%E9%AB%98%E6%95%88%E7%9A%84%E4%BC%A0%E9%80%92%E5%AF%B9%E8%B1%A1%E7%B

2016-09-14 09:34:04 589

原创 c++三目运算符的坑

写了7,8年的c++的代码,第一次在三木运算符上遇到坑。 pstrValue = ProbeBind(pstrValue) ? ParseBind(pstrValue) : pstrValue;ParseBind 返回值的类型与pstrValue是不一样的类型的,结果发现在运算的时候,不管ProbeBind函数返回true或者false,pstrValue会被隐私转换到ParseBin

2016-07-13 16:17:14 3605

原创 windows matebook开发TODO

1. 需要在windows上验证的: https://code.msdn.microsoft.com/windowsdesktop/sending-toast-notifications-71e230a2

2016-06-30 14:00:03 891

原创 surfaceview组件的surfaceCreated()不被调用的解决方案

有时候我们有需要在native层做在surfaceview的上下文中做渲染,这个时候只是提供了一个单独什么都不做的surfaceview。xml文件如下:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/

2016-05-11 16:14:43 18786 3

原创 关于java和native优化的一些好的文章,持续更新

1. http://www.ibm.com/developerworks/cn/java/j-jni/2. http://blog.csdn.net/xyang81/article/details/44279725

2015-07-23 15:30:11 554

原创 INSTALL_PARSE_FAILED_NO_CERTIFICATES 解决办法

居然发现是因为jni下有个lib库没有任何权限,chmod一下提升read权限就可以了

2015-07-07 17:36:21 2831

原创 远离glPushMatrix glLoadIdentity glPopMatrix

这三个函数在android opengles的版本中会提示called unimplemented OpenGL ES API,即使我们在java层已经设置了setEGLContextClientVersion(2),因为这三个函数在pc,在ios平台上都没有问题,所以迷惑了我好久,以后再也不要用这三个函数

2015-04-13 15:54:09 895

原创 服务器端基于opengl程序渲染

最近在最一个基于opengl的渲染程序,客户端主要是移动客户端,所以需要放在服务端做渲染,然后将渲染结果encode成一个视频,下载到客户端播放。其中遇到最麻烦的事情是,服务端需要离线渲染,需要配置opengl环境。1. 服务端没有gpu,没有显卡驱动。这个时候需要装模拟环境,如mesa。2. 安装驱动或者模拟驱动后,因为是远程通过ssh执行程序运行。这个时候需要配置Xserver

2013-08-01 21:57:11 3765 2

原创 hidden symbol ... is referenced by DSO

编译选项加入-fvisibility=hidden编译通过

2013-07-31 17:30:07 4616 4

原创 linux上编译动态库,ldd的时候not found

连接某个动态库后,ldd应用程序,发现这个动态库not found。1. 检查makefile脚本,-L指定了动态库的位置,不然也不会编译通过。2. 通过设置LD_LIBRARY_PATH, ldconfig也没有用。最后才发现,编译出来的动态库名字本身叫libavatar.so.打包给应用程序的时候,被应用程序重命名为libavatar_sdk.so编译连接应用程序完成,

2013-06-28 10:15:19 25933 1

原创 android开发问题记录(2013/4/23)

1. LOCAL_STATIC_LIBRARIES := libtrack libanimate libmodel libopencv libtinyxml 这个引用库是有顺序的,从右向左,比如libtrack引用了 libopencv库的时候需要将 libopencv放在右边,先进行连接,不然找不到 libopencv的方法。

2013-04-23 18:01:22 770

原创 android开发问题记录(2012/11/22)

1. 最近在折腾升级opencv,之前使用的是版本1.0的,想升级到2.4.3。官方已经有编译好的sdk版本,直接饮用的时候按照sample的方法,直接include mk文件(例如:include ../../sdk/native/jni/OpenCV.mk)。但是发现在我的ndk编译的时候,死活都在link的时候报undefined symbol的问题,折腾了很久才知道,include和我的L

2012-11-22 14:35:57 1300 1

原创 IOS开发问题记录(2012/11/19)

1. 这里有一篇很不错的,ios上优化的资料:http://stackoverflow.com/questions/11219240/maximum-speed-from-ios-ipad-iphone 2. 最近编译程序的时候总是出现,atom not found symbol index for armv7什么的,是因为引用的库进行了LTO优化和dead code strip,我的工程中关

2012-11-19 20:30:09 623

原创 ios开发问题记录(2012/10/31)

1. 编译第三方库的时候,出现一个错误,trl/memory not found . 查了资料才知道,xcode默认使用的c++编译器是c++11的版本,改成c++98就可以编译过了。2.

2012-10-31 16:17:44 539

原创 工作备忘录(2012/10/26)

1. 今天编译spserver的时候出现编译错误不兼容struct evbuffer,我明确已经装了libevent,但是还是报这样的错误呢,后来才知道spserver只是在libevent1.1和1.2的版本试过,后来就再也没有维护过了,我编译的libevent是2.1的版本,换回了以前的版本就好了。

2012-10-26 13:36:50 856

原创 工作资料备忘录(2012/10/23)

最近在折腾opencv的东西,有些需要记录一下:        1. YUV与RGB相互转换的公式如下(RGB取值范围均为0-255):Y = 0.299R + 0.587G + 0.114BU = -0.147R - 0.289G + 0.436BV = 0.615R - 0.515G - 0.100BR = Y + 1.14VG = Y -

2012-10-23 14:20:20 1111

原创 ios 编译相关优化

最开始发布公司sdk的时候是debug版本,客户反馈使用起来性能非常不好,平均一次调用track人脸需要200ms,后来使用release发布后只需要80ms,但这些还是不能满足要求,因为之前在android版本上的时候双核标配比如note手机平均需要30ms。同样的代码,于是我们决定先从编译选项上下手来做ios的优化:1. release版本发布。2. 在code generatio

2012-10-22 18:36:47 1945

原创 ffmpeg sdk 开发相关

今天在win平台上测试ffmpeg的时候,懒得去折腾网上的mingw方式编译一套sdk,直接在官方网站下载了dev版本的静态库和动态库还有include头,配置好vs的工程,应用,调用相关的api,连接lib库的时候出现找不到符号名的问题,但是这些接口明显是在下载的lib中提供的,还是找不到。后来通过观察错误提示中寻找的api是c++的命名方式,才恍然大悟,是因为下载的编译库是c版本的,需要在我的

2012-10-22 16:25:12 710

原创 ndk开发问题记录(2012/10/12)

1. ndk-build -j8时候因为是多进程同时编译,出错后打印的信息可能不利于跟踪,如果编译不过又明显找不到问题在什么地方,一定是多进程造成打印的日志被紊乱了,这个时候想要知道详细的出错信息,可以去掉多进程编译模式,直接执行ndk-build -j1.2. 在源码中,LOCAL_LDLIBS适用于HOST SHARED LIBS(不需要检测动态库源文件是否改变),而LOCAL_SHARE

2012-10-12 15:43:12 736

原创 ios开发问题纪录

1. 今天在xcode上编译了一个c++程序得静态库,另外一个app去引用这个静态库,编译时候出现警告和错误提示如下:ld: warning: ignoring file ../Test/libTest.a, missing required architecture i386 in fileUndefined symbols for architecture i386分析:我是在模

2012-09-27 17:00:28 712 1

原创 opengl opengles学习资源

1. http://www.learnopengles.com/android-lesson-one-getting-started/2. http://www.arcsynthesis.org/gltut/Basics/Introduction.html3. http://www.gamedev.net/forum/25-opengl/4. http://www.codeguru.c

2012-08-16 15:29:11 810

原创 python 开发问题记录(二)

1. gzip的writeline方法在多线程环境下效率非常的低,应该使用write替代.2. urllib2.open(url)的时候总是抛出异常为“badstatusline”.设置一下代理就好了.3. 从文件里面读取中文字符的时候,出现乱码,需要decode(gbk)。

2012-07-04 16:30:25 599

原创 vs程序开发问题记录(二)

1. 项目依赖项,主要是控制几个项目之间的生成顺序。假如项目A依赖项目B的lib文件,那么B的生成顺序一定在A的前面,但这不能说明在编译A的时候在项目依赖项里面勾选了B,不用手动pragam B的lib,或者在gui中设置依赖的名字和路径,就让编译器自动去引用B的lib,这个时候它还会报无法找到符号。如果想省掉前面的手写pargam或者gui设置的步骤,可以使用属性====通用属性=====框架和

2012-06-18 16:27:18 489

原创 vs程序开发问题记录

1. 今天release编译一个程序完后,运行的时候一直提示找不到msvcr90d.dll,我觉得很奇怪我是release编译的,为什么会找debug的dll,后来才知道引用的其他的第三方库使用了,解决办法是在vs工程中把msvsr90d.lib给忽略掉

2012-05-18 17:58:10 419

原创 ndk开发问题记录(2012/04/25)

1. 今天在对ndk的so进行profile的时候,我选择是ndk自带的gprof,按照网上的办法,做好了准备生成了gmont.out简单翻译下使用方法:将压缩包解压,然后在Android.mk中添加LOCAL_SRC_FILES := $(your_path)/libandprof.a在初始化时调用:monstartup("your_lib.so");

2012-04-25 15:57:32 856

原创 ndk开发问题记录(2012/04/24)

1. 最近因为license的原因需要替换之前引用的一个开源库ann,替换为flann。GPL的。但是发现它的代码支持rtti和exception,之前使用的stlsport编译不过了,因为它不支持rtti和exception,最后改为gunstl。希望一切顺利2. 替换gnu支持rtti和exception的时候编译到最后连接出了问题,网上也是一大堆类似的问题,比如ndkgnustlunde

2012-04-24 11:20:26 630

原创 ndk开发问题记录

用ndk编译c/c++工程项目时候遇到以下问题,记录之: 1. opengles/gl.h找不到这些头文件。    解决办法:修改Application.mk 中APP_PLATFORM := android-9,因为某些版本貌似不支持gl,如果没有就加上。2.  libstlport_static.a: No such file: Permission denied   解决

2012-03-19 09:46:04 1499

原创 android源码编译与开发:问题记录

最近在ubuntu12.04 x86环境上编译android4.0系统,和以前在10.10上编译遇到的问题完全不一样,网上也查不到知识,所以把自己解决问题的心得记录如下:       1. 目标发行版 1.5 与默认的源发行版 1.7 冲突。因为我装的jdk是1.7版本的,在了解了build下面的编译规则后,去这个目录下查找使用了jdk1.5规则的mk。           执行一

2012-03-13 11:52:50 8042 6

原创 python-django编程小知识

最近使用django做一个分布式数据爬虫服务。           将其中遇到的一些问题和解决方法记录下来: 1. 需要一些全局静态,只需要在服务启动时候初始化一次。那么将这个变量import到__init__.py中。 2.

2012-03-12 17:43:52 766

原创 python编程之一:使用网格索引算法进行空间数据查询

这是学习python以来第一次实现一个功能。是因为今天在网上面试一个兼职程序员,对方给我出一道题,题目如下:        写个python的接口,给定经度和维度范围,查出在中国的区域,要求性能尽可能的快。全国经纬度表参见这个网页:http://t.cn/aWKhXM        做这个题的时候大脑首先想到是两个算法,一个是网格索引,一个是四叉树索引。考虑到初次用python实现

2012-02-24 21:33:59 13721 2

原创 真假武侠--影评之《武侠》

某个不经意间在央视的音乐频道看到一长段关于《武侠》配乐的介绍,陈可辛此次的作品力求创新,在剧本选材上,最重要的是在背景音乐上。听到著名作曲家金培达栩栩如生的讲述,我终于按捺不住了。       不管什么样题材的电影都必须讲情,不管是爱情还是亲情,当然仇恨也算是一种感情,只是比

2011-09-10 23:00:30 1536

原创 [转]vc编译链接错误--LNK2001,LNK2019,

-- LINK2001 学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。  初学者在学习VC++的过程中,遇到的LNK2001错

2011-09-06 23:23:03 1225

原创 近来学习计划与心得

1. 阅读《Windows环境下32位汇编语言程序设计》Windows环境下32位汇编语言程序设计 从win32汇编了解系统底层,不是说一定要精通win32,而是通过汇编思维来了解底层运作,这样更加有利于代码的优化 。2.学习python语言学习另外一门语言,走出c/

2011-09-06 23:00:34 554

原创 c/c++ hack方式去掉const属性

今天在论坛看到有兄弟问,C语言程序中如何去const。看到楼下有汇编朋友给了这样的答复:    const int xxx;int *p;__asm{LEA EAX,xxxMOV [p],EAX}*p=0;     我测试了下如果是内置类型的int等可以,但字符串不行,因为c语言中没有字符串说法。   如果这样的程序就有问题。    const char* xxx

2010-12-08 22:06:00 2959 1

原创 重造轮子:学写函数配接器

很多人反对重新发明轮子,那是站在一个项目的立场上去思考。如果业余时间去学着摸索轮子发明的历程,会比看N多书更有用。 以下是看了《c++沉思录》后,练习写的函数配接器。#ifndef _FUNC_BINDER_H_#define _FUNC_BINDER_H_templatestruct Binary_Function{ // base class for binary functions typedef arg1 First_Argument; ty

2010-11-23 17:10:00 801 1

原创 GIS系统中最短路径查找算法优化之一:双向广度优先搜索

去年毕业的时候进入一家GIS软件开发公司,正式接手的第一个项目是GIS系统的拓扑分析,在公司原有的算法基础上进行维护和优化。在优化过程有了以下心得,本该去年就更新在blog上的,但是一直没有时间去弄,现更新之。     在GIS系统中,最常用的一个功能就是在拓扑网络结构中进行最短路径分析。          注:最短路径分析公司取名为FindAPath.      公司前辈最初

2010-10-20 21:33:00 2338 2

原创 COM多线程的疑难杂症(一)

    这是COM多线程环境下我所遇到的第一个问题,谨此记录下来已被后忘。   问题大概这样:   一位同事在自己的组件中创建线程函数,在线程中调用我组件的方法,结果是间断性的发生CreateInstance失败,经过追查发现,在他的线程函数中开始和结束时没有初始化一个套件,即:没有调用CoInitialize(0)和CoUninitialize()方法,我的组件是CComSingleThreadModel模式,说明每个线程必须要有自己私有的套件。   首先感谢以下两篇文章:   1。msdn    全文在

2010-10-12 11:56:00 1512

原创 设想:未来游戏之服务端平台开放客户端百花齐放

   好吧,我承认我是标题党。   各大网络公司的平台开放之争已经鏖战了好几年了,在中国一直不温不火的。   我不是专家,我发表不了评论。某一天正在不亦乐乎的编写代码的时候,突然一坨硬梆梆的鸟屎砸在我的头上,让我突然萌生了此意。想想未来情况:一家公司提供游戏服务器集群来提供数据交换,各个公司围着这些数据精心的设计自己的游戏客户端来给玩家不同的体验,何其壮观。   这么一天会到来么。。

2010-09-16 22:52:00 678

原创 视频twitter,语音twitter还有多远

<br />    这一年的时间twitter迅猛发展,又推进了一场互联网的革命。<br />    过去的长篇大论经过压缩到140字就迅速的爆发出一个新的互联网热点,压缩是个好东西!让很多好视频从硬盘走上了网络(哥你懂的。。。)。<br />    压缩让文字twitter走了出来,那么视频twitter,语音twitter还会远么?<br />    友情提醒:如果你打算趁现在去开辟行业,一定得先问问自己:如果TX也开始抢占这个行业你会怎么办。。。。

2010-09-13 10:26:00 1043

多核程序设计

多核程序设计高级篇,主要讲解多核程序设计的一些误区,和高级运用知识点。启发意义很大。

2012-10-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除