DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 541 评论 :: 1614万 阅读
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

05 2016 档案

摘要:1、在uboot中我可以添加自己的命令,添加的方法是找到一个uboot的命令,然后模仿着去增加属于自己的命令代码以及实现函数就可以 2、记住在使用printf进行调试的时候,在遇到指针或者字符串的时候最好使用“%x”,以为我不知道指针或者字符串中是否包含不可见字符,如果有不可见字符会导致错误,而且错 阅读全文
posted @ 2016-05-21 16:10 DoubleLi 阅读(582) 评论(1) 推荐(0) 编辑

摘要:1.线程属性 线程具有属性,用pthread_attr_t表示,在对该结构进行处理之前必须进行初始化,在使用后需要对其去除初始化。我们用pthread_attr_init函数对其初始化,用pthread_attr_destroy对其去除初始化。 1. 名称:: pthread_attr_init/p 阅读全文
posted @ 2016-05-21 10:39 DoubleLi 阅读(5578) 评论(0) 推荐(0) 编辑

摘要:pthread_create 创建线程时,若不指定分配堆栈大小,系统会分配默认值,查看默认值方法如下: # ulimit -s8192# 上述表示为8M;单位为KB。 也可以通过# ulimit -a 其中 stack size 项也表示堆栈大小。ulimit -s value 用来重新设置stac 阅读全文
posted @ 2016-05-21 10:38 DoubleLi 阅读(3572) 评论(0) 推荐(0) 编辑

摘要:值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简 阅读全文
posted @ 2016-05-21 10:10 DoubleLi 阅读(15217) 评论(1) 推荐(7) 编辑

摘要:近日,听说pthread_create会造成内存泄漏,觉得不可思议,因此对posix(nptl)的线程创建和销毁进行了分析。 分析结果:如果使用不当,确实会造成内存泄漏。 产生根源:pthread_create默认创建的线程是非detached的。 预防方式:要么创建detached的线程,要么线程 阅读全文
posted @ 2016-05-21 09:44 DoubleLi 阅读(2923) 评论(0) 推荐(0) 编辑

摘要:背景:有时需要单看某个进程的CPU及占用情况,有时需要看整体进程的一个占用情况。一、 linux ps命令,查看某进程cpu和内存占用率情况[root@test vhost]# ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND解 阅读全文
posted @ 2016-05-18 16:05 DoubleLi 阅读(33779) 评论(0) 推荐(1) 编辑

摘要:原文链接 简介 进程无法启动,软件运行速度突然变慢,程序的"Segment Fault"等等都是让每个Unix系统用户头痛的问题,本文通过三个实际案例演示如何使用truss、strace和ltrace这三个常用的调试工具来快速诊断软件的"疑难杂症"。 truss和strace用来 跟踪一个进程的系统 阅读全文
posted @ 2016-05-13 17:40 DoubleLi 阅读(2601) 评论(0) 推荐(0) 编辑

摘要:原文链接 常用内存泄露检测手段有 1 mtrace 2 memwatch 3 mpatrol 4 dmalloc 5 dbgmem 6 valgrind 7 Electric Fence dmalloc是一个简单易用的C/C++内存leak检查工具,以一个运行库的方式发布。 dmalloc能够检查出 阅读全文
posted @ 2016-05-12 17:32 DoubleLi 阅读(1149) 评论(0) 推荐(0) 编辑

摘要:话说“工欲善其事,必先得其器”,用C语言写程序,最怕遇到个什么内存泄漏,内存越界访问了,心里那个急啊。。。 如果在i368-linlux上,valgrind工具是首选,但在arm-linux平台上,如何呢,dmalloc就是一个不错的选择。当然,IBM的purify是另外一个级别的选手,不提也罢。 阅读全文
posted @ 2016-05-12 15:57 DoubleLi 阅读(1469) 评论(0) 推荐(0) 编辑

摘要:下面是我实际在开发环境里面做的dmalloc移植时候的一些随笔 配置PC的dmalloc环境1. 首先把源码包打开,进入dmalloc文件夹2. ./configure 配置Makefile,我是加了线程选项的,所以我的是./configure --enable-threads3. 生成Makefi 阅读全文
posted @ 2016-05-12 15:50 DoubleLi 阅读(638) 评论(0) 推荐(0) 编辑

摘要:一谈到内存泄露, 多数程序员都闻之色变。 没错, 内存泄露很容易引入, 但很难定位。 以你我的手机为例(假设不经常关机), 如果每天泄露一些内存, 那么开始的一个星期, 你会发现手机好好的, 当内存泄露积累到一定程度, 那就是各种卡死了, 系统异常, 最后死机, 不得不重启。 如果搞开发, 遇到内存 阅读全文
posted @ 2016-05-12 11:47 DoubleLi 阅读(977) 评论(0) 推荐(0) 编辑

摘要:前言 所有使用动态内存分配(dynamic memory allocation)的程序都有机会遇上内存泄露(memory leakage)问题,在Linux里有三种常用工具来检测内存泄露的情況,包括: 1. mtrace mtrace是三款工具之中是最简单易用的,mtrace是一个C函數,在<mch 阅读全文
posted @ 2016-05-12 10:23 DoubleLi 阅读(2248) 评论(0) 推荐(0) 编辑

摘要:1.首先安装Qt4并采用Qt Creator进行开发演示 (1)在Terminal中输入: 其中: qt4-dev-tools 中包括了Qt Assistant,Qt Linguist,Qt Creator qt4-doc 这个是帮助文档 qt4-qtconfig Qt的配置工具,这个装好默认好 q 阅读全文
posted @ 2016-05-12 09:10 DoubleLi 阅读(401) 评论(0) 推荐(0) 编辑

摘要:安装: 1. Qt5.3.1下载地址为:http://qt-project.org/,选择”Qt 5.3.1 for Linux 32-bit”版本,文件名是”qt-opensource-linux-x86-5.3.1.run”; 2. 进入qt-opensource-linux-x86-5.3.1 阅读全文
posted @ 2016-05-11 10:23 DoubleLi 阅读(440) 评论(0) 推荐(0) 编辑

摘要:Qt 中有两种方式编译,一种是MinGW ,另一种MSVC。 其中:MSVC是指微软的VC编译器 MingGW是指是Minimalist GNU on Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你 在GNU/Linux和Windo 阅读全文
posted @ 2016-05-11 10:18 DoubleLi 阅读(6512) 评论(0) 推荐(0) 编辑

摘要:十年前学C++的时候,无聊到把windows 文件夹下几乎所有的*.dll 都看过一遍。偶尔在程序运行时看到缺少 *.dll 的提示,都会直接找出来解决。 随着“开发平台”和“编译器”版本的逐年升级,一个程序的依赖链接库体积也越来越大,这给码农、程序猿、软件攻城狮们测试和发布都造成了比较大的麻烦! 阅读全文
posted @ 2016-05-11 08:56 DoubleLi 阅读(10118) 评论(0) 推荐(0) 编辑

摘要:转自:http://gcc.gnu.org/ml/gcc-help/2007-09/msg00205.html `gcc -print-prog-name=cc1plus` -v `g++ -print-prog-name=cc1plus` -v 例如,CentOS 6.3 64bit 下,`g++ 阅读全文
posted @ 2016-05-06 08:56 DoubleLi 阅读(11184) 评论(1) 推荐(2) 编辑

摘要:1、fork + exec fork用来创建一个子进程。一个程序一调用fork函数,系统就为一个新的进程准备了前述三个段,首先,系统让新的进程与旧的进程使用同一个代码段,因为它们的程序还是相同的,对于数据段和堆栈段,系统则复制一份给新的进程,这样,父进程的所有数据都可以留给子进程,但是,子进程一旦开 阅读全文
posted @ 2016-05-06 08:55 DoubleLi 阅读(3129) 评论(0) 推荐(0) 编辑

摘要:转载自:http://my.oschina.net/renhc/blog/53580 linux尽量避免使用system。 曾经的曾经,被system()函数折磨过,之所以这样,是因为对system()函数了解不够深入。只是简单的知道用这个函数执行一个系统命令,这远远不够,它的返回值、它所执行命令的 阅读全文
posted @ 2016-05-06 08:53 DoubleLi 阅读(1357) 评论(1) 推荐(1) 编辑

摘要:linux下使用system需要谨慎,那么代替它的方法是什么呢? 标准I/O函数库提供了popen函数,它启动另外一个进程去执行一个shell命令行。 这里我们称调用popen的进程为父进程,由popen启动的进程称为子进程。 popen函数还创建一个管道用于父子进程间通信。父进程要么从管道读信息, 阅读全文
posted @ 2016-05-06 08:52 DoubleLi 阅读(5680) 评论(1) 推荐(2) 编辑

摘要:首先用man查看下popen的介绍: popen(3) - Linux man page Name popen, pclose - pipe stream to or from a process Synopsis popen总是和pclose一起出现被使用的。popen() 创建一个管道,通过fo 阅读全文
posted @ 2016-05-06 08:50 DoubleLi 阅读(23032) 评论(0) 推荐(0) 编辑

摘要:本文整理转载自:http://wenku.baidu.com/view/065d62fff705cc1755270989.html C语言中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型, 其中方括号[]中的项为可选项。 一、类型 我们用一定的字符用以表示输出数据的类型, 阅读全文
posted @ 2016-05-05 20:04 DoubleLi 阅读(3324) 评论(1) 推荐(2) 编辑

摘要:[cpp] view plain copy print? [cpp] view plain copy print? 阅读全文
posted @ 2016-05-05 19:01 DoubleLi 阅读(3928) 评论(0) 推荐(0) 编辑

摘要:scandir函数详解2009-10-30 10:51scandir函数:读取特定的目录数据表头文件:#include <dirent.h>定义函数:int scandir(const char *dir, struct dirent **namelist, nt (*select) (const 阅读全文
posted @ 2016-05-04 15:50 DoubleLi 阅读(5662) 评论(0) 推荐(0) 编辑

摘要:头文件#include <dirent.h> 函数定义:int scandir(const char *dir,struct dirent **namelist,int (*filter)(const void *b), int ( * compare )( const struct dirent 阅读全文
posted @ 2016-05-04 15:23 DoubleLi 阅读(2900) 评论(0) 推荐(1) 编辑

摘要:欢迎转载,转载请注明出处:http://forever.blog.chinaunix.net一、编写linux下应用程序的时候,有时候会用到高精度相对时间的概念,比如间隔100ms。那么应该使用哪个时间函数更准确呢? 1、time 该函数返回的是自1970年以来的秒数,显然精度不够,不能使用 2、g 阅读全文
posted @ 2016-05-03 17:27 DoubleLi 阅读(1591) 评论(1) 推荐(1) 编辑

点击右上角即可分享
微信分享提示