自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (6)
  • 收藏
  • 关注

原创 Windows10下搭建汇编语言开发环境(利用DOSBOX和MASM32)

学一门语言,最好的方法便是在实践中学习。对于不少初学者来说,首先要面临的是如何搭建开发平台/环境的问题。由于汇编语言的特殊性,不少初学者会担心自己直接对寄存器进行操作会不会导致系统崩溃或者系统硬件损坏,再加上现如今高级程序设计语言大行其道,真正需要写汇编语言的情境已经不那么多了,所以不少初学汇编语言的同学都还停留在纸上谈兵的状态。 本人初次学习汇编语言已经是五年前,但一直都未亲自实践过,最近工作上需要用到反汇编二进制可执行文件,因此计划重新拾起曾经学过的汇编语言,以便能够顺利完成手头上的项目。以下是搭

2015-05-02 11:08:42 157293 58

原创 Ubuntu14.04下配置SSH以支持远程putty登录

Ubuntu14.04下配置SSH以支持远程putty登录

2015-04-25 10:36:28 18360

原创 Ubuntu 14.04下安装静态源码分析工具Splint3.1.2

splint是一个动态检查C语言程序安全弱点和编写错误的程序.splint会进行多种常规检查,包括未使用的变量,类型不一致,使用未定义变量,无法执行的代码,忽略返回值,执行路径未返回,无限循环等错误.项目需要,需要在Ubuntu14.04的环境下安装Splint,特记录安装过程,给需要的朋友.

2015-04-23 11:55:45 3119

原创 Eclipse C/C++开发调试环境安装记录

1. 安装JDK工具主页:http://www.oracle.com/technetwork/java/index.html下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html                    http://download.oracle.c

2015-04-15 12:07:06 4531

转载 Eclipse直接完成JAVA调用C/C++ (Eclipse上使用CDT结合MinGW)

原文地址:http://www.blogjava.net/orangewhy/archive/2007/05/24/119645.html    网上都有很多在windows平台下JAVA调用C/C++方法的介绍说明。但是,在此过程中,绝大多数都是利用VC等其他工具来进行DLL的生成。试想一下,在eclipse平台开发了JAVA,突然又要打开VC的工作环境,多不爽!何况如果内存不够的话

2015-04-15 09:15:53 2791 1

转载 GCC 生成的符号表调试信息剖析

原文地址:http://blog.csdn.net/KataDoc360/article/details/3898016    GCC把C语言源文件('.c')编译成汇编语言文件('.s');    汇编器把汇编语言文件翻译成目标文件('.o');    最后由链接器链接所有的目标文件和有关的库生成可执行文件('a.out')。    如打开

2015-04-14 16:31:37 14298

转载 使用符号表调试release程序

原文地址:http://blog.csdn.net/jmflovezlf/article/details/16589841        如果要生成单独的调试信息文件,命令如下:objcopy –only-keep-debug foo foo.dbg    如果要去除调试信息(还可以使用strip命令),命令如下:objcopy --strip-debug foo foo.no

2015-04-14 16:25:45 2813

转载 程序减肥,strip,eu-strip 及其符号表

作者原文地址:http://blog.chinaunix.net/uid-24774106-id-3526766.html    我们公司产品里面的可执行程序和动态共享库(DSO)里面的符号表都被移除了,所以每次遇到core dump的时候,都需要将符号表导入到/usr/lib/debug目录下。一直没弄明白为啥是这个目录,能不能是其他目录,今天没啥事儿,研究了下这个主题。  

2015-04-14 16:00:55 3102

转载 C/C++字节对齐问题总结

原文链接:

2014-07-31 22:19:35 1838

转载 C文件包含.h文件和包含.c文件总结

原文链接:       很多人对C语言中的 “文件包含”都不陌生了,文件包含处理在程序开发中会给我们的模块化程序设计带来很大的好处,通过文件包含的方法把程序中的各个功能模块联系起来是模块化程序设计中的一种非常有利的手段。       文件包含处理是指在一个源文件中,通过文件包含命令将另一个源文件的内容全部包含在此文件中。在源文件编译时,连同被包含进来的文件一同编译,生成目标目标

2014-07-31 22:18:06 6404

转载 预编译组件完工的一点归纳总结

原文链接:http://blog.csdn.net/sonicling/article/details/1435813刚刚完成了C++编译器预编译组件。只能说大致完成了,有一点还没有达到C++标准所要求的,那就是条件预编译,也即#if directive的comparing expression。根据C++文档,#if 后面应该是一个整型,或者可以看作整型的表达式,我的理解是除了整

2014-07-31 22:14:05 640

转载 GCC源码分析(五)——指令生成

原文链接:http://blog.csdn.net/sonicling/article/details/8246231一、前言  又有好久没写了,的确很忙。前篇介绍了GCC的pass格局,它是GCC中间语言部分的核心架构,也是贯穿整个编译流程的核心。在完成优化处理之后,GCC必须做的最后一步就是生成最后的编译结果,通常情况下就是汇编文件(文本或者二进制并不重要)。

2014-07-31 22:11:59 2670

转载 GCC源码分析(三)——中间语言

原文链接:http://blog.csdn.net/sonicling/article/details/7915301一、前言  很忙,很久没更新博客了,继续没写完的gcc分析,争取在传说将要用C++重写的gcc 5出来之前初略分析完。二、符号表(GENERIC)  前篇介绍了gcc的语法分析,在语法分析过程中,所有识别出来的语言部件都用一个叫TREE的

2014-07-31 22:09:27 4741

转载 GCC源码分析(四)——优化

原文链接:http://blog.csdn.net/sonicling/article/details/7916931一、前言本篇只介绍一下框架,就不具体介绍每个步骤了。二、Pass框架上一篇已经讲了gcc的中间语言的表现形式。gcc 对中间语言的每一步处理叫做一个pass。从一个函数的GENERIC树刚被转换为GIMPLE之后,接下来的工作就由

2014-07-31 22:08:10 2457

转载 GCC源码分析(一)——介绍与安装

一、GCC的作用和运行机制    GCC是Linux下重要的编译工具,用法这里就不说了,满大街都找得到。这里我重点介绍GCC的运作机制,作为代码分析的铺垫。全篇使用C语言子部件来作分析,因为我对其他语言的编译没有研究...二、GCC的安装 ...

2014-07-31 22:06:54 9425

转载 GCC源码分析(二)——前端

原文链接:http://blog.csdn.net/sonicling/article/details/6706152  从这一篇开始,我们将从源代码的角度来分析GCC如何完成对C语言源文件的处理。GCC的内部构架在GCC Internals(搜“gccint.pdf”,或者见[1])里已经讲述得很详细了,但是如果你只看了gccint就来看代码,还是觉得一头雾水,无法下手,因为

2014-07-31 22:06:03 4458 1

转载 拆解GCC命令的预处理-编译-汇编-链接4个阶段

在linux下使用gcc命令编译程序时,整个过程实际上在底层处理分为四个步骤--预处理/编译/汇编/连接下面通过gcc的不同命令参数来拆解这四个步骤。...

2014-07-31 22:02:09 1297

转载 计算机科学中最重要的32个算法

作者:原文链接:

2014-07-31 21:45:55 840

转载 二叉树遍历之递归算法

作者:原文链接:http://blog.csdn.net/sgbfblog/article/details/7773002二叉树的遍历算法有多种,典型的有先序遍历、中序遍历、后序遍历以及层序遍历。而且这些遍历的递归算法较为简单,代码很少,容易实现,本文就是汇总二叉树遍历的递归算法,非递归算法将在下一篇文章中进行总结。本文中用到的二叉树实例如下: 3 /

2014-07-31 21:41:50 1099

转载 程序员必须知道的10大基础实用算法及其讲解

算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策

2014-07-31 21:19:15 782

转载 TCP 的那些事儿(上)

2014年5月28日陈皓

2014-07-31 21:15:52 942

转载 TCP 的那些事儿(下)

2014年5月28日陈皓

2014-07-31 21:15:33 1928

转载 程序员的自我修养——操作系统篇

出处:快课(www.cricode.com)   作者:快课   转载请务必保留此段声明本文是“程序员的自我修养”系列文章第一篇。介绍程序员都应该知道的操作系统知识!即是面试必备,更是程序员的自我修养!也许,只需这一篇文章,便能让你全面的认识操作系统!在阅读本文之前,推荐阅读“自己动手制作4位计算机”。目录:1. 进程的有哪几种状态,状态转换图,及导致转

2014-07-31 21:12:30 1291

转载 程序员的自我修养——计算机网络

几乎所有的计算机程序,都会牵涉到网络通信。因此,了解计算机基础网络知识,对每一个程序员来说都是异常重要的。本文在介绍一些基础网络知识的同时,给出了一些高质量的系列文章链接,以方便大家随时参考学习。相信通过本文的学习,你能对计算机网络有全面的认识!在阅读本文之前,建议阅读以下两遍文章,以便对”计算机网络是如何工作”的有个大概的了解。互联网协议入门(一)互联网协议入

2014-07-31 21:12:26 1292

转载 打造你自己的程序员品牌

作者: John Sonmez  来源: InfoQ

2014-07-31 20:48:34 670

转载 大公司?小公司?我的经历和建议

工作是在大公司更好,还是小公司更好?这个问题让大家争论不休,也没有最终的答案。凑个热闹,我结合自己的经历,谈谈我的看法。  我最开始工作就是在小公司。当时刚刚毕业,在对工作完全没有概念的情况下,进入了一家小的创业公司。虽然今天想起来,作为创业公司,它有这样那样的不足,但我依然非常珍惜那段经历。主要原因是我在那里受到了相对良好的职业训练。当时我的两位领导都是毕业于清华,而且在搜狐

2014-07-31 20:46:25 1577

转载 百度员工离职总结:如何做个好员工?

原文来源:http://mp.weixin.qq.com/s?__biz=MzA3MDMyODYyOA==&mid=200222421&idx=1&sn=ee08905ff5a69fb6600e30a9694795e6&3rd=MzA3MDU4NTYzMw==&sc

2014-07-31 20:38:18 558

转载 大型网站架构演变和知识体系

原文链接:http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于

2014-07-31 20:34:23 417

转载 编译器的编译基本过程

编译器最基本的功能就是把高级语言(例如C/Fortran)编写的代码转化为机器指令(就是01串),从这个角度来说它本质上是个转换过程。经典的编译过程主要包括:1、词法分析(Lexical Analysis)词法分析就是从输入代码中识别出各种记号(token),例如对于C语言我们就需要知道if,else等是语言的关键字,myvar是个标识,而123myvar不能被识别为一个标识。负责

2014-07-31 17:56:57 2695

转载 HTTP协议详解

HTTP协议详解当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获H

2014-07-31 17:14:51 419

转载 嵌入式编程中的常用技巧

原文链接:http://www.cnblogs.com/xcamel/p/3613911.html假设一个8位的寄存器,不能够直接进行位寻址,而又要使字赋值时不影响的其他位。那么要给某一位置0,置1,取反的常用写法。下面以第五位为例进行说明(reg为该八位寄存器):将第5位置0:reg&=~(1将第5位置1:reg|=(1将第5位取反:reg^=(1

2014-07-31 17:09:12 628

转载 C语言中的register关键字

原文链接:http://www.cnblogs.com/xcamel/p/3864458.html在C语言中的register修饰的变量表示将此变量存储在CPU的寄存器中,由于CPU访问寄存器比访问内存快很多,可以大大提高运算速度。但在使用register时有几点需要注意。1.用register修饰的变量只能是局部变量,不能是全局变量。CPU的寄存器资源有限,因此不可能让一个变

2014-07-31 17:07:14 633

转载 C语言中的static关键字

原文链接:在C语言中,"static"既可用于修饰函数,也可用于修饰变量,细细总结起来有以下几个功能:1.static修饰函数。在工程中如果包含多个源文件,声明函数时加上static则表示仅将该函数的作用范围限定于本文件,对外部源文件是不可见的。2.static修饰局部变量。一般而言,局部变量存储于动态存储区,如果局部变量加上static修饰,则将此局部存储于静态存储区

2014-07-31 17:02:03 378

转载 野指针,悬垂指针,垃圾内存,内存“黑洞”

作者:原文链接:http://blog.csdn.net/zlhy_/article/details/8794969野指针首先他不是NULL指针,其次他指向的内存是不合法的,这个不合法的内存俗称“垃圾”内存。它产生的原因一个是在free或是delete后,没有及时将指针设置为NULL。野指针的检测也是很困难的,比如用if(0 == ptr)也是不行的,因为在free或是delete

2014-07-31 16:53:32 850

转载 C++常见内存错误汇总

一、前言从事自动化测试平台开发的编程实践中,遭遇了几个程序崩溃问题,解决它们颇费了不少心思,解决过程中的曲折和彻夜的辗转反侧却历历在目,一直寻思写点东西,为这段难忘的经历留点纪念,总结惨痛的教训带来的经验,以期通过自己的经历为他人和自己带来福祉:写出更高质量的程序.由于 C 和 C++ 这两种语言血缘非常近,文本亦对 C 编程语言有借鉴作用。

2014-07-31 15:59:42 867

转载 UML入门 之 交互图 -- 时序图 协作图详解

.作者 : 万境绝尘转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/17927131.动态图概念 : 从静态图中抽取瞬间值的变化描述系统随时间变化的行为, 动态图包括交互图活动图状态图, 这篇博客研究交互图 包括时序图和协作图;-- 时序图 : 显示对象之间的关系, 强调对

2014-07-31 15:05:40 105754 9

转载 GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流

GitHub操作总结 : 总结看不明白就看下面的详细讲解..作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18812279.GitHub操作流程 :第一次提交 :  方案一 : 本地创建项目根目录, 然后与远程GitHub关联,

2014-07-31 15:04:05 4042

转载 C语言 命令行参数 函数指针 gdb调试

.作者 : 万境绝尘转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21551397 | http://www.hanshuliang.com/?post=29.1. C语言命令行参数详解命令行参数 : 有两个参数 int argc 和 char **arg

2014-07-31 15:02:29 3584

转载 C语言 结构体相关 函数 指针 数组

.作者 : 万境绝尘转载请注明出处 : http://www.hanshuliang.com/?post=30.结构体概述 : 结构体是 多个 变量的集合, 变量的类型可以不同;-- 可进行的操作 : 结构体可以进行 拷贝 赋值操作, 可以作为 函数参数 和 函数返回值;1. 结构体的基本使用结构体声明 : s

2014-07-31 15:01:24 763

转载 C语言 指针数组 多维数组

作者:傲雪星枫原文链接:http://blog.csdn.net/fdipzone/article/details/204136311.冒泡排序算法过程:1.遍历整个数组,每两两相邻的元素进行比较,如$a[$i]>$a[$i+1]则互换位置,每次比较消除一个逆序。2.每一次循环后,下次再需要循环的次数减少1。

2014-07-31 13:54:02 855

2011.实战突击:Java Web项目整合开发.完整版.源代码

2011年出版的:实战突击:Java Web项目整合开发,完整版,源代码,随书源码。源码不易得,完整的源码更不容易,希望能帮到有需要的人。

2018-07-30

实战突击:Java项目开发案例.完整源码

2011年出版的:实战突击:Java项目开发案例整合,随书源码

2018-07-30

NASM汇编开发工具集

NASM汇编开发工具集,基于DOSBOX+MASM汇编开发、调试必备。

2015-05-03

Android学习之测试尺寸大小工程实例

Android学习之测试尺寸大小工程实例

2011-12-03

用于测试颜色的工程实例

用于测试Android开发时所用到的colors.xml的工程实例

2011-12-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除