- 博客(15)
- 资源 (4)
- 收藏
- 关注
转载 数组名和数组名取地址的区别
以下代码会打印出什么样的日志呢?[cpp] view plaincopy#include int a[2] = {1,2}; int main(){ printf("a = %p\n", a); // I printf("&a = %p\n", &a); // II printf("a + 1 = %p\n
2015-02-28 09:13:27 407
转载 Linux内核学习四库全书
关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书,这样可以理解很全面。Linux Kernel 四库全书1. Linux内核设计与实现 Edition 2 2. Linux设备驱动 Edition 3
2015-02-16 09:03:07 503
转载 Linux网络编程必看书籍推荐
首先要说讲述计算机网络和TCP/IP的书很多。 先要学习网络知识才谈得上编程讲述计算机网络的最经典的当属Andrew S.Tanenbaum的《计算机网络》第五版,这本书难易适中。《计算机网络(第5版)》是国内外使用最广泛、最权威的计算机网络经典教材。目前已经是第五版,本书作者80年代就开发出MINIX,是一个用于操作系统教学的类UNIX(的小型操作系统。而linux就是受其影
2015-02-16 09:01:57 428
转载 Makefile经典教程(掌握这些足够)
makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写make
2015-02-12 23:02:47 759
转载 自动生成 Makefile 的全过程详解
automake/autoconf 入门作为Linux 下的程序开发人员,大家一定都遇到过Makefile ,用make 命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile ,如果要想写出一个符合自由软件惯例的Makefile 就不那么容易了。在本文中,将给大家介绍如何使用autoconf 和automake 两个工具来帮助我们自动地生成符合自由软件
2015-02-10 22:58:49 495
转载 【Qt】正确判断文件、文件夹是否存在的方法
一直对Qt的isFile、isDir、exists这几个方法感到混乱,不知道到底用哪个,网上搜了下资料,也是用这几个方法但是都没有对其深究,经过测试发现会存在问题,先看看下面的测试代码[cpp] view plaincopy{ QFileInfo fi("C:/123"); // 目录存在 qDebug()
2015-02-10 16:21:52 1033
转载 Linux ARM交叉编译工具链制作过程
一、下载源文件源代码文件及其版本与下载地址:Binutils-2.19.tar.bz2http://ftp.gnu.org/gnu/binutils/gcc-4.4.4.tar.bz2http://mirrors.kernel.org/gnu/gcc/gcc-4.4.4/Glibc-2.11.2.tar.bz2Glibc-ports-2.11.tar.bz2http
2015-02-09 21:48:04 617
转载 MFC中基于对话框的程序启动后自动隐藏
本文简单介绍一下VC中基于对话框的程序启动后的自动隐藏技术。有的程序需要在启动后立即隐藏主窗口,只在系统托盘区域显示一个图标,这常见于很多后台服务程序。对于基于对话框的程序,要实现此功能需要一点技巧。该技术的关键点在于,需要使用非模态对话框,而不是默认的模态对话框。模态对话框的DoModal()事实上执行了对话框的创建、显示、消息循环等一系列过程。我们这里要做的就是把这个过程重现,
2015-02-07 22:35:11 2308 2
原创 gcc -l链接库
g++编译时, 用-labc 选项后, 编译器会自动按照命名规则去搜索 libabc.a 库文件, 但如果我想使用动态链接库链接应如何指定参数?优先链接共享库。共享库找不到,才链接静态库。可是如果我在 -l 选项后添加共享库, 则链接时报告库文件不存在, 共享库和静态库的命名规则是否一样?例如我有一个名为 libabc.so, 我应采
2015-02-07 11:19:58 1042
转载 gcc -D选项的作用
简单点说,加上-D选项就是在编译时增加对-D后面的宏的定义。来看个简单的例子吧,源程序(a.c)如下:[cpp] view plaincopy#include int main(int argc, char *argv[]) { #ifdef MYDEBUG printf("test\n"); #endif
2015-02-07 11:11:08 1122
原创 linux查看程序依赖的动态库
明明Proj程序是用Qt5编译出来的,看起来它却找Qt4库。因为Proj用的某so还是用Qt4编译的,这个错误实际上不是针对Proj程序而是这个so报的,将这个so用Qt5编译就可以了。
2015-02-07 10:59:04 1033 1
转载 bootloader烧写
关于bootloader,先简要地总结一下。经过了第一个阶段的学习,对bootloader有了一个整体的认识,其实把它当作一个功能单元就可以了,职责就是完成从硬件加电到操作系统内核运行之前的所有工作,这些工作包括硬件检测、硬件初始化、加载kernel。这些工作怎么完成呢?按照功能分为两个部分比较合适,硬件检测和初始化功能实现作为stage1;加载kernel作为stage2。stage1完全依赖于
2015-02-06 23:46:02 6029
转载 JTAG接口
用Keil C51等软件调试单片机程序时,需要用到仿真器,才能查看每个端口的状态。在用ADS或MDK调试ARM时,仿真器就不是一定需要的了,因为ARM芯片中集成了JTAG接口。在ARM芯片中,JTAG接口是一个很重要的接口,ADS或MDK调试ARM时,用JTAG接口就可以完成单片机的仿真器的功能。通常,JTAG接口联接在PC的并口上,ADS通过代理软件(如H-JTAG)就可以直接调试ARM
2015-02-06 23:33:41 4587
原创 QTCreator创建及测试动态库
创建动态库:1. 在新建工程向导中选择"C++ Library",--> Shared library创建。以下以qtdll为示例名字。2.自动生成的Qtdll类就是导出类,其成员函数参数支持STL3.编译生成的so文件后面带着版本号,libqtdll.so.1.0.0测试动态库1.新建一个Qt Console Application工程2. 把libqtdll
2015-02-06 22:02:01 3486
原创 Source Insight添加文件时提示No Files Found
原因是文件被隐藏了。---------------------------------------------------------------------------------------------------------------------------有些病毒会把文件夹隐藏,但是普通文件管理无法修改属性,可以通过使用命令行的方式修改attrib -s -h
2015-02-04 12:46:54 3768 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人