- 博客(99)
- 收藏
- 关注

原创 Linux so动态库路径搜索顺序
项目中遇到一个问题,可执行文件foo在编译时指定的libstdc++.so.6,运行时始终链接到系统/usr/lib64/libstdc++.so.6。经过一番思索(搜索:baidu,google,bing.......)终于找到一篇文章。记录于此,时刻提醒自己,技术的道路还很长!动态库搜索路径&顺序:LD_LIBRARY_PATH,rpath,系统默认动态库路径(/lib;/li...
2019-12-24 15:34:52
2402
3

原创 android手机调试native c代码
环境:CentOS 5.4[root@localhost bin]# cat /etc/redhat-releaseCentOS release 5.4 (Final)[root@localhost bin]# uname -aLinux localhost.localdomain 2.6.18-164.el5 #1 SMP Thu Sep 3 03:33:56 EDT
2014-02-09 18:46:17
2220
原创 堆栈写越界造成崩溃的一种特征
对于C++程序,如果遇到如下崩溃的栈信息,一般都是栈被破坏了。需要检查下崩溃处的代码片段附近,是否存在堆栈被越界写的情况。实际项目中,由于定义了如下栈上的数组,后续代码memcpy写越界,造成崩溃。且这种崩溃为非必现。
2025-03-07 11:11:13
315
原创 log4cxx: Large window sizes are not allowed.
log4cxx是C++常用的开源日志库,是Apache的又一扛鼎力作。log4cxx使用Apache License Version 2.0,允许商业化使用和分发代码,同时保留了代码的开源特性和使用自由。使用过程中如果发现报错,log4cxx: Large window sizes are not allowed.通过关键字搜索代码:(gdb) p$1 = 20(gdb) p$2 = 1代码注释很清楚,最好不要大于12。即使用户设置的值超出范围,log4cxx内部也会减少。
2024-09-02 16:51:53
333
原创 GDB:wrong library or version mismatch?
实际项目中,常常会遇到程序运行环境与分析问题的环境不一致的情况。需要搭建与程序运行环境一致的环境,保证操作系统及glibc版本一致。
2024-08-15 11:03:10
452
原创 GDB:Cannot access memory at address
遇到这种提示,一般都是可执行文件与core文件不匹配导致。需要找到与core文件对应的可执行文件。
2024-08-14 17:04:19
1442
原创 对于代码注释的理解
1、如果无论何时,能保证注释与所写代码(包括修改)完全一致,那么推荐写注释。7、让人容易理解的变量名、函数名、类名、清晰的程序文本布局,比注释好太多。4、有些代码,注释不是必须的。比如:hallo world程序。3、愿景很美好,但实际上只有一少部分人能做到。5、如果代码大概率不会修改,那么推荐写注释。2、注释会增加程序员的工作量。6、API总得有参数说明吧。
2024-08-13 11:04:10
156
原创 雨哥聊设计模式(三)用代码描述设计模式
1.聚合与组合聚合: class B { A* a; .....}组合: class B{ A a; ...}2.
2020-07-23 13:56:30
226
1
原创 雨哥聊设计模式(二)简单描述23种设计模式
当代码中很多地方使用new,malloc等系统提供的创建关键字,或者是第三方库提供的创建方法,应考虑将创建代码封装。无特殊要求情况下,使用简单工厂方法就可以实现。
2020-07-23 11:25:52
257
1
原创 雨哥聊设计模式(零)前言
从07年毕业开始就一直在CSDN,有困难就来这里搜大神们的文章。算到现在写代码也十多年了,多少能从脑子里挤出点儿水来。写一些自己认为有用的,可能对大家成长有帮助的东西,就当是回馈吧
2020-07-23 10:44:28
207
1
原创 雨哥聊设计模式(一)一句话描述设计模式
创建型模式1.简单工厂:创建实例的函数需用参数指定具体类型2.工厂方法:提供创建操作的类是抽象类3.抽象工厂:一个抽象工厂类可以创建多种抽象类型4.单例模式:这个不用说5.原型模式:通过克隆拷贝已存在的对象实例6.建造者模式:建造过程的步骤确定,但每一步是抽象的结构型模式7.适配器模式:将已有功能的接口转换为需要的形式8.外观模式:将需要的接口都汇总到一个接口9.装饰模式:用动态组合手段,代替新建子类10.组合模式:想组织各对象间的层次结构,并且想统一地使用所有对
2020-07-17 15:45:01
224
1
原创 linux运维之------服务器状态信息
一、内存1.toptop - 14:21:27 up 265 days, 1:56, 3 users, load average: 0.09, 0.13, 0.14Tasks: 623 total, 1 running, 622 sleeping, 0 stopped, 0 zombie%Cpu(s): 0.0 us, 0.8 sy, 0.0 ni, 99.2 ...
2019-07-16 14:41:30
270
转载 VS2008 断点不起作用 失效
1、无效断点所在的项目和启动项目的设置:项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』; 2、项目->属性->配置属性->链接器->调试->生成调试信息,这里设为『是』; 3、C/C++->优化->优化选择『禁用』; 4、删除解决方案下的.ncb文件; 5、工具->选项->调试-
2018-06-12 11:37:29
2591
转载 现有的人脸数据库介绍及下载链接
在国际上已有的一些人脸数据库:Yale人脸库(美国):耶鲁大学,15人,每人11张照片,主要包括光照条件的变化,表情的变化等。ORL人脸库(英国):剑桥大学,40人,每人10张照片,包括表情变化,微小姿态变化,20%以内的尺度变化。FERET人脸库(美国):为 了促进人脸识别算法的研究和实用化,美国国防部的Counterdrug Technology Transfer Program(CTTP)发...
2018-03-09 18:13:46
2190
1
转载 随机变量不相关却不一定独立
原文:https://www.zhihu.com/question/26583332/answer/33330386(X,Y) 均匀分布在单位元 x^2 + y^2 = 1上<img src="https://pic1.zhimg.com/50/1226d3f907b09cd1aed77e09ea5d0496_hd.jpg" dat...
2018-03-08 12:03:26
12599
原创 查看linux发行版本及字长
[root@localhost ~]# uname -r2.6.32-358.el6.x86_64[root@localhost ~]# lsb_release -aLSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noa
2017-07-17 10:23:26
1161
转载 linux程序调试(一)------内存分布
1、地址映射64位地址采用4层地址映射,如下图:pgd、pud、pmd、pte各占了9位,加上12位的页内index,共用了48位。即可管理的地址空间为2^48=256T。而在32位地址模式时,该值仅为2^32=4G。另外64位地址时支持的物理内存最大为64T,见e820.c中MAX_ARCH_PFN的定义:# define MAX_ARCH_PFN MAXMEM>>P
2017-07-11 17:28:20
560
转载 冯诺依曼结构和哈佛结构
http://www.cnblogs.com/douzi2/p/4876551.html哈佛结构是,数据和代码分开存在。冯诺依曼结构是在哈佛结构之后提出的,冯诺依曼提出“代码本身也是一种数据”,解决了哈佛结构的一个问题——总线暂用资源太多。冯诺依曼结构是,数据和代码放在一起。首先,通过BIOS(Uboot)将硬盘(Flash)中的程序(数据和代码
2017-05-04 17:09:52
725
原创 关于JNI参数传递------jdouble,double和Double
昨天遇到了一个JNI传参的问题:Java函数如下:private native void jniSetDouble(String key, Double value); 签名为:(Ljava/lang/String;Ljava/lang/Double;)VJNI函数如下:JNIEXPORT void JNICALL jniSetDouble(JNIEnv *env, j...
2016-12-17 14:42:12
4897
转载 Architecture And Framework
http://www.cnblogs.com/iiiDragon/p/3223344.html高屋建瓴From Up to Down.Outside into inside.Interface-Oriented Framework with dynamic configuration.SOA:Service-Oriented Architecture.
2016-06-15 16:32:23
1036
转载 基于FPGA与MATLAB的IIR滤波器设计与实现
http://blog.sina.com.cn/s/blog_139b6f6130102whcx.html一、IIR滤波器理论基础IIR滤波器,即无限脉冲响应滤波器,其单位脉冲响应是无限长的,其系统传递函数为 系统的差分方程可以写成二、IIR滤波器的设计方法一般来讲,IIR滤波器的设计方法可以分为三种:原型转换
2016-06-07 16:38:32
4616
转载 如何实现支持数亿用户的长连消息系统 | Golang高并发案例
此文是根据周洋在【高可用架构群】中的分享内容整理而成,转发请注明出处。周洋,360手机助手技术经理及架构师,负责360长连接消息系统,360手机助手架构的开发与维护。不知道咱们群名什么时候改为“Python高可用架构群”了,所以不得不说,很荣幸能在接下来的一个小时里在Python群里讨论golang....
2016-01-18 16:52:45
13616
1
转载 机器连接数
记得以前一台机器只能建立65535个连接的这种想法一直长时间占据着思维方式,为什么会有这种想法呢,估计最早起源于学校的port的short(16位65535)吧。一台机器connect同一IP,port的最大连接数嗯,既然一台机器只能最大建立65535个连接,那当然” 为什么一台机器connect同一个IP,port的tcp连接数不能超过65535个”这个问题的答案是对的,没有为什
2016-01-13 13:20:33
1269
转载 Linux 技巧:让进程在后台可靠运行的几种方法
想让进程在断开连接后依然保持运行?如果该进程已经开始运行了该如何补救? 如果有大量这类需求如何简化操作?
2016-01-13 12:36:22
470
原创 vmware bridge模式无法上网
解决方法:一下两处的MAC地址要一致!不一致可能无法上网。(以前linux下不一致也可以,估计用的是vmware版本的原因)VMware 11.1.0 build-2496824
2016-01-11 15:53:44
866
转载 SSL协议详解
http://kb.cnblogs.com/page/162080/背景介绍 最近在看《密码学与网络安全》相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL。 在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识。 1、密码学的相关概念密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性。明文
2016-01-05 13:23:05
727
转载 为什么在12306买火车票要装根证书?
http://techyan.weebly.com/2/post/2013/05/12306.html12306主页上有一段很显眼的文字—--“为保障您顺畅购票,请下载安装根证书。”这段文字和12306很多的其他问题一起成为网友诟病12306的话题,但是这个看似安全的根证书确可能会成为让12306用户们的安全受到严重威胁的东西。为什么在12306上买火车票要装根证书?想要回答这
2016-01-05 13:15:03
998
转载 中文分词器分词效果的评测方法
http://www.codelast.com/?p=7042现在有很多开源的中文分词器库,如果你的项目要选择其一来实现中文分词功能,必然要先评测它们的分词效果。如何评测?下面详细叙述。【1】黄金标准/Golden standard所谓的黄金标准是指:评价一个分词器分词结果的好坏,必然要有一份“公认正确”的分词结果数据来作为参照。通常,我们使用一份人工标
2016-01-04 12:19:36
869
转载 让你的Socket应用兼容IPv6
随着互联网越来越普及,以及物联网的兴起,IPv4地址已远远不够用,IPv6的普及将是不可避免的趋势。以前,我们的大部分socket程序几乎都是针对IPv4而开发,如果不做升级重构,那么使用IPv6地址的客户端将无法使用服务端提供的服务。如何才能像ESFramework一样,使服务端和客户端都可以同时支持IPv6了?使我们的P2P打洞也兼容IPv6了?下面我们将要点一一点出。 首先
2015-12-25 10:05:29
3013
原创 linux 下man的用法
man 2 read以下来自man手册MANUAL SECTIONS The standard sections of the manual include: 1 User Commands 2 System Calls 3 C Library Functions
2015-12-23 13:34:40
476
转载 Linux下获得进程id和进程名字
1. 通过进程名字得到进程id。pid_t getProcessPidbyName(char *name){ FILE *fptr; char *buf = new char[255]; char cmd[255] = {'\0'}; pid_t pid = -1; sprintf(cmd,"pidof %s",name);
2015-12-23 13:06:08
3315
转载 Linux段页式管理思想--写操作系统内存管理必备知识,简单易懂
http://zhan.renren.com/h5/entry/3602888497996214030【转帖】一、概念1、物理地址(physical address)用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。—— 这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到
2015-12-16 23:11:58
958
转载 Android Native反调试
http://www.zhaoxiaodan.com/java/android/android-native%E5%8F%8D%E8%B0%83%E8%AF%95.html思考之前研究了下如何调试和尝试反一个别人加密的东西, 所以现在的体会就是:其实重点不是你如何加密, 重点是如何不让别人知道你怎么加密的因为像这种自己加密的资源运行的时候自己解密之后拿来
2015-12-10 15:49:51
1381
转载 穷人版valgrind
http://www.douban.com/note/524982126/valgrind是内存泄漏的万灵药,只要能用得上valgrind。但在实际当中不管是运行速度还是运行环境都受限太多。最近碰到一个第三方商业库的内存泄漏,既没有源代码,也没法在实验室的重现,更没法用valgrind,于是周末加班搞定了一个自制valgrind。valgrind提供的信息其实就两条。对所有申请的内存,
2015-12-09 20:18:07
582
转载 SSL与TLS的区别以及介绍
原文地址http://hengstart.iteye.com/blog/840561 SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。
2015-12-03 15:14:17
527
转载 人工智能(AI)资料大全
http://www.techug.com/awesome-artificial-intelligence这里收集的是关于人工智能(AI)的教程、书籍、视频演讲和论文。欢迎提供更多的信息。在线教程麻省理工学院人工智能视频教程 – 麻省理工人工智能课程人工智能入门 – 人工智能基础学习。Peter Norvig举办的课程EdX 人工
2015-12-02 13:12:40
2283
libevent死锁demo(使用pair bufferevents)
2024-08-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人