自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

原文链接:

2014-07-31 22:19:35 1861

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

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

2014-07-31 22:18:06 6504

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

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

2014-07-31 22:14:05 651

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

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

2014-07-31 22:11:59 2850

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

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

2014-07-31 22:09:27 4793

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

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

2014-07-31 22:08:10 2506

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

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

2014-07-31 22:06:54 9484

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

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

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

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

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

2014-07-31 22:02:09 1320

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

作者:原文链接:

2014-07-31 21:45:55 851

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

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

2014-07-31 21:41:50 1114

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

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

2014-07-31 21:19:15 793

转载 TCP 的那些事儿(上)

2014年5月28日陈皓

2014-07-31 21:15:52 977

转载 TCP 的那些事儿(下)

2014年5月28日陈皓

2014-07-31 21:15:33 1986

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

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

2014-07-31 21:12:30 1302

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

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

2014-07-31 21:12:26 1341

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

作者: John Sonmez  来源: InfoQ

2014-07-31 20:48:34 684

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

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

2014-07-31 20:46:25 1596

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

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

2014-07-31 20:38:18 571

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

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

2014-07-31 20:34:23 433

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

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

2014-07-31 17:56:57 2709

转载 HTTP协议详解

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

2014-07-31 17:14:51 429

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

原文链接: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 638

转载 C语言中的register关键字

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

2014-07-31 17:07:14 646

转载 C语言中的static关键字

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

2014-07-31 17:02:03 387

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

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

2014-07-31 16:53:32 863

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

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

2014-07-31 15:59:42 901

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

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

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

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

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

2014-07-31 15:04:05 4063

转载 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 3628

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

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

2014-07-31 15:01:24 779

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

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

2014-07-31 13:54:02 886

转载 C 使用异或(xor)加密/解密文件

C 使用异或(XOR)加密/解密文件之前写过一篇《php 使用异或(XOR)加密/解密文件》,但php执行的速度很慢,因此这次使用C重写,速度有很大的提高。

2014-07-31 13:52:36 1121

转载 C进阶指南(3):显式内联、矢量扩展、C的逸闻轶事

五、显式内联函数代码可被直接集成到调用函数中,而非产生独立的函数目标和单个调用。可显式地使用 inline 限定符来指示编译器这么做。根据 section 6.7.4 of C standard inline 限定符仅建议编译器使得”调用要尽可能快”,并且“此建议是否有效由具体实现定义”要用内联函数优点,最简单的方法是把函数定义为 static ,然后将定义放入头文件。

2014-07-30 22:37:31 647

转载 C进阶指南(1):整型溢出和类型提升、内存申请和管理

原文地址:http://pfacka.binaryparadise.com/articles/guide-to-advanced-programming-in-C.html翻译地址:http://blog.jobbole.com/72830/C语言可用于系统编程、嵌入式系统中,同时也是其他应用程序可能的实现工具之一。 当你对计算机编程怀有强烈兴趣的时候,却对C语言不感冒,这

2014-07-30 22:34:32 604

转载 C进阶指南(2):数组和指针、打桩

原文地址:http://pfacka.binaryparadise.com/articles/guide-to-advanced-programming-in-C.html翻译地址:http://blog.jobbole.com/72830/三、指针和数组尽管在某些上下文中数组和指针可相互替换,但在编译器看来二者完全不同,并且在运行时所表达的含义也不同。

2014-07-30 22:33:47 453

转载 C语言二维数组矩阵动态内存分配

原文链接:最近去参加面试,遇到二维数组矩阵动态内存分配,面试官当场叫我写个double类型的20*30的二维数组动态内存分配,当时就懵了,由于没有准备平时运用得比较少,结果没有写出来。。。。回来想想也并不是这么难,double类型的20*30二维数组分配内存[cpp] view plaincopydouble **p;  int i;  

2014-07-30 22:29:06 1920 1

转载 C语言 内存分配 地址 指针 数组 参数 实例解析

作者 : 万境绝尘转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/20472269.指针简介 : 指针式保存变量地址的变量;-- 增加阅读难度 : 指针 和 goto 语句会增加程序的理解难度, 容易出现错误;-- ANSI C : American National Stan

2014-07-30 22:25:27 751

转载 百度电面题 C和C++ 语言动态内存分配 的区别

一、C语言动态内存分配    要实现动态内存的分配,除了利用含指针成员的结构体之外,还需利用C语言提供的几个标准库函数。(使用时应包含头文件“alloc.h”或“malloc.h”或“stdlib.h”)    1.malloc函数  函数原型为void *malloc(unsigned int size);在内存的动态存储区中分配一块长度为"size" 字节的连续区域。函

2014-07-30 21:31:37 460

转载 C/C++ 内存分配方式,堆区,栈区,new/delete/malloc/free

1.内存分配方式内存分配方式有三种:[1] 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量, static 变量。[2] 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中 ,效率很高,但是分配的内存容量有限。[3] 从堆上分配

2014-07-30 15:01:02 877

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关注的人

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