[置顶] 为什么,问题在哪?

为什么真的是提笔之前内心充满了千言万语,可是到了真正想把它们写出来的时候却没有什么头绪了!噢,看看题目是《为什么》,这个“为什么”说的是什么呢?好了,不就结了,直截了当吧。今天说的这个“为什么”,我是想说,为什么现在的我没有达到当初自己期望(完全是技术追求上的)。我已经工作5年多了,一直从事linux系统相关的软件开发工作。工作之余,也喜欢翻看一些十分经典的UNIX著作,期望能使自己的技术能力和设计...
阅读(107) 评论(0)

[置顶] valgrind manual

valgrind manual基本介绍Valgrind工具套件提供了一整套的调试和配置工具,其能帮助使你的程序可以运行更快以及更正确.Memcheck是该套件中最为著名一个.它能探测到很多导致C/C++应用程序崩溃和不能定位的crash的内存相关的问题.基本运行命令 valgrind –tool=memcheck –leak-check=yes –log-file= log.file prog...
阅读(125) 评论(0)

android平台移植valgrind

Android平台移植Valgrind开发平台信息 PC: Ubuntu16.04 Android:Firefly Rk3288 Reload + Android 5.1 交叉编译器:arm-linux-androideabi-gcc 4.6 衍生自android-ndk-r10b(开发工具的生成方式可以参见Android C/C++开发指南) valgrind版本valgrind-3.13.0 配...
阅读(229) 评论(0)

Android系统调试-程序崩溃调试

Android系统调试-Native 调试Android系统对于Native(C/C++)应用程序的调试手段比单纯的linux系统更为丰富.一般我们调试linux系统的应用程序崩溃问题,都是通过coredump文件与gdb结合调试的手段.但是Android系统的天然不支持这种调试方式,其在内核中就没有启用coredump生成机制,那么Android系统下我们使用什么方式调试Native程序的崩溃问题...
阅读(236) 评论(0)

bochs安装配置

bochs系统环境 ubuntu14.04 TLS bochs2.6.8 bochs安装安装环境准备Bochs 需要在 X11 环境下运行,因此你的 Linux 系统必须已经安装了X Window 系统才能使用Bochs。因为 Bochs 是用C++写的,所以这里要安装GNU gcc/g++编译器。 安装命令如下:sudo apt-get install build-essential sudo...
阅读(514) 评论(0)

at91sam9260 OpenWRT u-boot移植

ateml9260 移植OpenWRT U-boot1. 直接在make menuconfig中选择编译at91sam9260ek平台的u-boot,烧写到开发板后效果**U-Boot 2010.06-dirty (Jun 28 2017 - 09:14:34)DRAM: 64 MiB NAND: 1024 MiB *** Warning - bad CRC, using default env...
阅读(367) 评论(0)

gcc-stack-protector机制

GCC “stack smashing detected”机制相信使用C/C++语言开发软件的程序猿们都经历过‘栈溢出’的问题。‘栈溢出’问题通常十分的隐蔽,有的时候问题复现也十分的困难。每当软件出现莫名其妙的问题时,总是有人怀疑是不是栈溢出了,但是问题的排查又十分的困难,所以,‘栈溢出’就是广大C/C++开发者的噩梦。大家不禁要问有没有通用的方法来避免或者来检测’栈溢出‘问题呢?其实,’栈溢出‘问...
阅读(509) 评论(0)

Unix 设置用户ID和文件访问权限

设置用户ID为了说明问题,我们首先创建一个可执行程序,名字为setuid,其文件信息如下:-rwxrwxr-x 1 lhl lhl 7265 4月 6 21:20 setuid*通过finger命令可以知道系统当前的登录信息:Login Name Tty Idle Login Time Office Office Phone lhl lhl...
阅读(299) 评论(0)

VMware+NAT+Ubuntu网络无连接问题

今天,想通过VMware下的ubuntu安装一个软件 77,所以需要Ubuntu可以连接Internet。Ubunut是通过NAT方式与外部系统实现网络共享的。但是,Ubuntu启动后,本地有线网络一直无法正常连接。如下图所示: 1. 查看外部windows系统的网卡网络连接配置信息中的虚拟网卡:例如我的ubuntu虚拟机用的虚拟网卡为VMnet8,查看网卡的属性: 由VMnet8...
阅读(678) 评论(0)

Android系统coredump

1.打开内核coredump功能Android系统的linux内核有可能没有打开coredump功能,可以通过查看android系统是否存在/proc/sys/kernel/core_patten配置项来确定,如果没有该配置项,那么需要重新配置内核,并且重新编译,并将其替换掉目标android系统内核(具体更新方试需要根据不同的硬件而定)。下面为coredump内核配置项的具体位置:make men...
阅读(839) 评论(0)

TCP/IP checksum 简析

标题 ##TCP/IP checksum 简析标题 ##Checksum原理Checksum广泛应用于TCP/IP协议族,用于校验IP、TCP、UDP数据,其原理比较简单,其计算校验和的步骤如下: 1)在数据发送端,首先将检验和字段本身清零,将被检验的相邻字节成对配成16bit的整数,将所有的配对相加,同时将进位加到校验和的低字节上,我们将得到的校验和定义为a,最后再将校验和取反记为-a,将-a放...
阅读(833) 评论(0)

Android C/C++开发指南

Android C/C++开发指南 1.Android C/C++简介 众所周知,Android作为目前主流的移动终端领域的开发平台,其主要的开发语言就是JAVA。Android借助于JAVA高效、灵活的开发模式,迅速占领了移动互联网开发的半壁江山。基于JDK和Android实现的各种JAVA框架,开发人员可以快速实现各种功能的APP,而且APP的安装和升级维护都实现的方便。 对于,Andr...
阅读(3144) 评论(0)

交叉编译tcpdump

交叉编译TCPDUMP 编译平台  PC:ubuntu-14.04  Cross-tool:arm-none-linux-gnueabi-gcc 4.8.3  Target:Atmel9260 编译步骤...
阅读(1261) 评论(0)

PJLIB 内存池实现

PJLIB内存池 1.PJLIB内存池优势 1.1 不用于其他的内存池实现方式,PJLIB内存池允许申请不同大小的内存空间 1.2 高效率的内存分配过程,内存分配算法复杂度为O(1),这都源于其内存分配     实现简单(只需要少许指针的运算操作),而且不需要加锁. 1.3 PJLIB POOL分配的内存很"纯净".PJLIB POOL不需要跟踪应用分配的独立内     存块儿,所以经...
阅读(904) 评论(0)

简论C-数组和指针

指针和数组 1.指针和数组定义、区别 1.1指针和数组定义 指针和数组都是C语言的精髓所在,对于很多C程序员来说,如果你问这样一个问题:数组和指针有什么区别?他们的答案很可能是:”数组和指针不是同一样东西吗,他们之间有什么区别啊?“;确实在极个别的情况下,数组和指针确实可以”通用“,但是在却大多数情况下,数组和指针是两个完全不同的C 语言特性; 首先,我们分别看一下,指针和数组的定义,...
阅读(366) 评论(0)
157条 共11页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:303202次
    • 积分:3685
    • 等级:
    • 排名:第9767名
    • 原创:84篇
    • 转载:68篇
    • 译文:5篇
    • 评论:32条
    博客专栏
    最新评论
    coolshell
    www.coolshell.cn