四月 4, 2017

怪异的 Linker Error LNK2019

今天碰到一个很奇怪的链接错误:LNK2019. 通常碰到这个问题,都是因为只有申明没有实现导致的。要么是lib库没链接进来,要么是工程中只有头文件,没有添加其对应的cpp文件,导致只有申明没有定义。 而今天碰到的奇葩问题是,同一个工程里,h文件及其对应的cpp文件都在工程中,而且通过h文件中的函数申明按F12键转到定义也没问题,即,申明和定义都没问题。 最后猛然发现,[...]
Read More »

二月 14, 2017

在Windows 10中编译libzip

slam dso依赖libzip,libzip又依赖zlib。zlib本身很好编译通过,但是libzip在通过cmake查找zlib时,规则、文件夹结构很奇怪,费了好大劲才配置好,将libzip编译过去,这里记录一下注意事项。 cmake中内嵌了一些常用模块的查找脚本,zlib就是一个。从官网上下载zlib源码,也是通过cmake指令:cmake[...]
Read More »

七月 5, 2016

Protobuf 语法指南

======注:本文只是转载,作为个人备查,原文请访问如下地址:======= http://colobu.com/2015/01/07/Protobuf-language-guide/   目录[...]
Read More »

四月 25, 2016

交换机数据包转发方法

2011-06-13 10:48:27  在过去,交换机使用下面的两种转发方法之一来进行网络端口间的数据交换:存储转发交换或直通交换。按下“交换机转发方法”按钮可显示这两种方法。不过,存储转发是当前型号的[...]
Read More »

四月 5, 2016

Android内核编译过程全解

之前编译过锤子的坚果手机内核,摸索了很长时间,遗憾的是没有把一些填坑的细节记录下来,免不了有些细节还得摸索一遍。这次要编译三星的Galaxy[...]
Read More »

三月 29, 2016

Android SDK DDMS通过Wifi接收Android日志

将Android手机与PC通过USB连接,我们就可以在Android Device Monitor中看到Android手机的实时日志,这个对程序的调试非常有帮助。但是一般来讲手机只有一个usb口,如果usb被别的设备占用,我们就没法获取日志了。 实际上,Android[...]
Read More »

三月 11, 2016

在命令模式下编译Android NDK 的 *.so 库

为Android编译c++写的库文件(*.so文件)有很多种方式,实际上就是有很多种不同的工具可以选择:Eclipse+ADT、Android Studio,本质上还是调用android-ndk下的build-ndk(.bat)指令来编译arm版本的、针对Android操作系统的so文件。 我们在用Eclipse编译so文件时基本上就是建一个Android工程,为其定义一个编译配置(配置好的Android[...]
Read More »

十一月 30, 2015

在Unity Android 程序中使用动态库及注意事项

很多C/C++代码以动态库的方式供第三方调用,在Unity中,这类文件(dll for windows, *.so file for Android/Linux, *.dylib for MAC OSX)叫插件。 在Unity开发的Android程序中使用动态库插件是非常方便的,曾经因为被误导而放弃使用unity,转而研究Android通过原生Java的JNI方式包装*.so文件,虽然还行,但是JNI晦涩丑陋的API实在看着不舒服。相对而言,C#也是可以直接包装*.so文件并在Android系统中直接调用的,而且Unity制作Android[...]
Read More »

十一月 12, 2015

Eclipse 创建、生成NDK步骤总结

本说明基于Eclipse+ADT+CDT开发,Eclipse版本号:Mars.1 Release 4.5.1、ADT版本:23.0.7.2120684、CDT版本:8.8.0.201509131935。 注:部分内容来自网络,这里只是做个资料收集整理,为自己和其他读者提供便利。 1、搭建NDK开发环境 Eclipse和Android[...]
Read More »

六月 11, 2015

从C++的dll中Callback到C#返回数组:只取到了第一个元素

假设C/C++的dll中定义回调函数: // Received data callback typedef void(__stdcall *ReceivedDataCallback)(SerialPortRef sp, unsigned char* data,[...]
Read More »

六月 11, 2015

Unity 5.0 中使用C/C++开发的dll插件使用中的问题 DllNotFoundException 问题集

Unity 中会经常用到C/C++开发的动态库(dll),Unity称为第三方插件,或plugin,这是非常厉害的扩展方法,但是Unity使用dll也非常痛苦,错误百出。 最常见的问题是 DllNotFoundException,就是找不到动态库。导致DllNotFoundException的原因很多,现把一些可能的情况,以及其解决方案一一列举: 1、DllNotFoundException:[...]
Read More »

十二月 25, 2014

Image not found when using dylib in xcode

Some errors like this: dyld: Library not loaded: /usr/local/lib/libXXX.dylib Referenced from: /sers/david/Projekte/Test/build/Debug/Test.app/Contents/MacOS/Test Reason:[...]
Read More »

十二月 15, 2014

Elapsed time in milliseconds in a C program

Use ‘gettimeofdata’ to do this job: #include <sys/time.h> #include <stdlib.h> #include <stdio.h> #include <math.h> /*[...]
Read More »

十二月 10, 2014

Returning Strings from a C++ API to C#

从C++的dll中返回字符串是一种经常用到的C#调用C++函数的方式,但是带有返回值的调用一直是说不清道不明的问题,不细细研究,的确没法用起来。 这里直接给出一个正确的做法,后面会提供一份Google出来的资料,讲的非常好。原理知道了,对于返回结构体也应该是可以按同理搞定的。   Code[...]
Read More »

六月 3, 2014

Apple ios8 beta download

WWDC2014于2014年6月2日(北京时间6月3日凌晨)发布了IOS8 bet版,以及其他一些重量级内容! 这里只提供IOS8 beta下载地址,方便各位发烧友尝鲜[...]
Read More »

五月 27, 2014

Capturing the Desktop Screen with the Mouse Cursor Image

下面的文章介绍了两种截屏方式及如何“截取”光标的方法。 通常情况下是无法截取光标的,因为光标不属于窗口中的windows元素,而是独立与窗口系统的另一层东西,叫Hot[...]
Read More »

五月 21, 2014

十大滤波算法程序大全(Arduino精编无错版)

最近用Arduino做电子秤,为了解决数据的跳变研究了不少滤波算法。网上能找到大把的十大滤波算法帖子,每一篇都不太一样,都号称精编啊,除错啊什么的,可是放到板子里却没一个能正常跑起来的。于是决定自己整理一下这些程序,完美移植到Arduino中。所以大家看到这个帖子的时候,不要怀疑我重复发帖。我的代码都是经过反复试验,复制到Arduino中就能开跑的成品代码,移植到自己的程序中非常方便。而且都仔细研究了各个算法,把错误都修正了的(别的程序连冒泡算法都是溢出的,不信自己找来细看看),所以也算个小原创吧,在别人基础上的原创。转载请注明出处:极客工坊  http://www.geek-workshop.com/thread-7694-1-1.htmlBy[...]
Read More »

五月 19, 2014

三种截取屏幕的方式

Various methods for capturing the screen By Gopalakrishna Palem, 19 Sep 2006 Download GDI source code – 72.1 Kb Download DirectX source code[...]
Read More »

五月 9, 2014

How can I return a string from a C dll to C#?

// c code: #include <ole2.h> /* needed for CoTaskMemAlloc */ EXPORT char* getUrlFromBaseURLInList(char *ListFilePath, char *SrchBaseURL, char*[...]
Read More »

五月 9, 2014

svn、bugzilla等穿过防火墙访问:如何在 Windows 防火墙中打开端口

如果 Windows 防火墙阻止某一程序,而您希望允许该程序通过防火墙进行通信,通常可以通过在 Windows 防火墙允许的程序列表(也称为“例外列表”)中选中该程序来实现。若要了解如何进行此操作,请参阅允许程序通过[...]
Read More »

Proudly powered by WordPress and Sweet Tech Theme