编译器调试相关
夜泊枫桥
这个作者很懒,什么都没留下…
展开
-
Windows 下使用Eclipse CDT 远程调试 Linux C/C++ 程序
Linux 下调试大型C/C++程序对于一般的程序员来说是一件不容易的事情,GDB提供了强大的调试功能及丰富的调试命令,但界面友好性及用户体验不如VS调试工具(PS:很多大牛能把GDB使用的出神入化,在此膜拜下),工欲善其事,必先利其器,本文主要讲解在Windows环境下,使用Eclipse CDT通过GDBServer进行远程调试。一、要使用的工具mingw-get-inst-2转载 2013-01-09 11:44:18 · 9740 阅读 · 3 评论 -
MSVC vs. MinGW 之 (lib,dll,def,obj,exe) vs (a,dll,def,o,exe) 玩转攻略手记
一份粗糙的研究记录,有待补完和整理。MinGW:c -> o gcc -c a.cc -> exe gcc a.c libs.o -o a.exe (从主程序a.c,附加libs,生成a.exe)o -> exe gcc a.o b.o ... -o main.exec -> dll,def,a gcc a.c转载 2013-09-11 13:30:48 · 1106 阅读 · 0 评论 -
Linux下gcc编译控制动态库导出函数小结
根据说明文档“How To Write Shared Libraries"介绍,有四种方法:1. 在方法声明定义时,加修饰:__attribute__((visibility("hidden")))2. gcc 在链接时设置 -fvisibility=hidden,则不加 visibility声明的都默认为hidden; gcc默认设置 -fvisibility=defau转载 2013-09-06 16:50:14 · 999 阅读 · 0 评论 -
ffmpeg移植改接口调用 |
//jni build------------------------Jni/Android.mk :LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)PATH_TO_FFMPEG_SOURCE:=$(LOCAL_PATH)/ffmpeg -L/usr/android-x264/include LOCAL_转载 2013-09-06 12:53:36 · 2233 阅读 · 1 评论 -
linux 高cpu占用调试
1.用top命令查看哪个进程占用CPU高gateway网关进程14094占用CPU高达891%,这个数值是进程内各个线程占用CPU的累加值。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 14094 root 15 0 315m 10m 7308 S 891%转载 2013-07-31 21:19:16 · 7216 阅读 · 0 评论 -
linux 设置最大打开文件描述符数
Linux Increase The Maximum Number Of Open Files / File Descriptors (FD)How do I increase the maximum number of open files under CentOS Linux? How do I open more file descriptors under Linu转载 2013-07-19 11:27:12 · 2387 阅读 · 0 评论 -
linux 内核重新编译
以linux-2.6.38.4.tar.bz2源码包为例上官网http://www.kernel.org/下载stable版的 linux-2.6.38.4.tar.bz2源码包,用sudo或root账户执行下面指令mv/home/zhb/Downloads/ linux-2.6.38.4.tar.bz2/usr/srctar tar -xv翻译 2013-07-16 10:47:54 · 1072 阅读 · 0 评论 -
VC++设置检测内存泄漏的方法
首先,检测内存泄漏的基本工具是调试器和 CRT 调试堆函数。为了使用调试堆函数,必须在要检测内存泄漏和调试的程序中添加下面的语句: #define _CRTDBG_MAP_ALLOC #include #include #include "debug_new.h" MSDN 如是说:“必须保证上面声明的顺序,如果改变了顺序,可能不能正常工作。”至于这是为什么,我们不得而知。MS 的老大转载 2013-04-28 20:27:42 · 951 阅读 · 0 评论 -
vs MD MT等运行时库区别
VC编译选项 多线程(/MT)多线程调试(/MTd)多线程 DLL (/MD)多线程调试 DLL (/MDd)C 运行时库 库文件Single thread(static link) ML libc.libDebug single thread(static link) MLd libcd.l转载 2013-04-28 21:40:17 · 1180 阅读 · 0 评论 -
OpenCV 2.4.2在VS2010下的安装(使用预编译库)
1)在网站上下载OpenCV安装包(目前最新版本是2.4.2)下载地址:http://opencv.org/选择OpenCV for Windows进行下载2)右键OpenCV-2.4.2.exe,在Windows 7下要选择,以管理员身份运行,在弹出窗口中选择解压路径,将其解压到某一目录下,如:C:\ProgramFiles (x86)\opencv。3)配置转载 2013-03-19 14:35:29 · 1032 阅读 · 0 评论 -
DLL中用malloc分配了一块内存,但是在exe程序中释放引发的错误:其原因可能是堆被损坏,这也说明 **.exe 中或它所加载的任何 DLL 中有 bug
写了个程序,在DLL中用malloc分配了一块内存,但是在exe程序中释放,结果程序crash,原因就是:其原因可能是堆被损坏,这也说明 TestMySticker.exe 中或它所加载的任何 DLL 中有 bug。想了半天以为是自己的写法有问题,后终于在google上找到了原因,汗。。。以下文字引用自 http://hi.baidu.com/huhe/blog/item/0b42转载 2013-04-01 16:26:59 · 683 阅读 · 0 评论 -
常用加密算法网站
1、Crypto++:http://www.eskimo.com/~weidai/cryptlib.html(C++) 2、MIRACL:http://indigo.ie/~mscott/(C/C++) 3、GNU MP:http://www.swox.com/gmp/ (C) 4、Piologie: http://www.hipilib.de/pi转载 2013-03-28 16:14:45 · 1697 阅读 · 0 评论 -
#pragma 详解
在所有的预处理指令中,#pragma指令可能算是比较复杂的一条,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为: #pragma para;其中para为参数,下面我们就一些常用的转载 2013-03-14 14:52:35 · 718 阅读 · 0 评论 -
VC、GCC 之间DLL 的相互调用
2012-08-30 15:56:51| 分类: GCC VC Dll相互调|字号 订阅http://argv.info/2011/01/26/some-problems-about-calling-c-dll-by-vc-and-gcc/(文章链接)关于VC和GCC中调用C DLL的一些问题最近在罗云彬的琢石成器上看到DLL部分,产生了让转载 2013-01-28 21:06:52 · 8084 阅读 · 0 评论 -
从DLL中输出LIB的方法
http://blog.csdn.net/seniorwizard/article/details/7721071 最近下载了SQLite编译好的WIN32下的动态库,打算在开发的小软件中使用它,结果发现压缩包了只有def和dll文件,缺lib文件。虽然可以采用LoadLibrary的方式加载里面的函数,但是总感觉方便性和代码的可读性都不大好,于是想是否可以从DLL中导出lib文转载 2013-01-10 15:53:41 · 902 阅读 · 0 评论 -
mingw dll msvc
1. linux 和 windows 对动态库的编译连接方式不同linux: 编译时直接去连接动态库windows: 编译时不是连接动态库,而是连接.LIB文件,而这个.LIB文件其实只是从动态库中导出的符号表 (个人感觉windows真是多此一举,既然动态库中什么信息都有,为什么不直接连接动态库呢) 2. 跨平台编译器: min转载 2013-01-09 21:38:47 · 884 阅读 · 0 评论 -
如何从DLL中生成LIB文件
如何从dll文件导出对应的lib文件? Visual C++ 开发工具提供了两个命令行工具,一个是dumpbin.exe,另一个是lib.exe。利用这两个工具即可从dll导出其对应的lib。 1、在命令行执行: dumpbin /exports yourdll.dll > yourdll.def 2、编转载 2013-01-09 21:33:12 · 1584 阅读 · 0 评论 -
打印调用堆栈
ava里面可以使用Throwable类来获取堆栈,示例代码如下:[java] view plaincopypackage name.xu; public class CallStack { public static void printCallStatck() { Throwable ex = ne转载 2013-09-05 16:11:10 · 894 阅读 · 0 评论