- 博客(24)
- 资源 (20)
- 收藏
- 关注
原创 写一个程序判断机器的的数据表示采用的是大端还是小端?
写一个程序判断机器的的数据表示采用的是大端还是小端?分析:大小端问题:计算机存储数据的最基本的单位是byte(字节,8bit)。c语言中,32位机的情形下: char 1byte; short 2bytes; int 4bytes;对于 short, int 这种多字节的
2012-10-31 20:05:37 1597
翻译 Introduction to Linux Intel Assembly Language
Introduction to Linux Intel Assembly Language //Linux下Intel 汇编语言简介 Norman MatloffFebruary 5, 2002 ©2001, 2002, N.S
2012-10-31 16:17:40 1376
原创 统计一个整数n的二进制表示中1的个数的几种解法
统计一个整数n的二进制表示中1的个数;分析:此题有多种解法.1. 除2取余法:求一个整数的二进制的表示是,用的方法是除2取余。对于本题,只是统计一下余数为1的个数而已。2. 位模式法+移位:1的变种,用移位代除2,该方法更高效。用位模式,与1相与,取得一位。3. 模式位法: n = n& (n -1); 考虑 n 与 n -1的二进制表示,两者相&, n-1总能将n的最低位的1,
2012-10-29 18:37:56 2531
原创 实习生面试总结
很久以前,写的面试总结。1. 你知道什么是系统平台开发? (面试的是系统平台开发工程师)系统平台就是提供基础服务的平台。(比如现在的云平台等,)(回答这个的时候,有点二,说就是做系统平台相关的开发。)2. 你的网站是用什么做的?你的web服务器使用的是?你用的php的版本? html + css+js. (实验室网站) php. (精
2012-10-28 09:18:45 1334
转载 Linux 汇编器:对比 GAS 和 NASM
Linux 汇编器:对比 GAS 和 NASM对比 GNU Assembler(GAS)和 Netwide Assembler(NASM)Ram Narayam, 软件工程师, IBM简介: 本文解释两种最流行的 Linux® 汇编器 —— GNU Assembler(GAS)和 Netwide Assembler(NASM) —— 之间一些比较重要的语法差
2012-10-27 22:17:45 1350
转载 gas学习
gas学习by Jian Lee1. 入门1.1 基本gas程序模板1.2 gas汇编程序伪指令1.3 gas的标签1.4 gas的开始标签1.5 gas中的系统调用1.6 基本 AT&T 汇编风格2. 使用标准C库函数3. 定义数据元素3.1 定义数据元素的命令3.2 赋值命令3.3 bss段3.4 .f
2012-10-26 20:00:39 1261
翻译 AT&T汇编语言语法格式与Intel的区别
AT&T汇编语言语法与Intel的类似,你可以参考gas手册。区别在下面几点(摘自gas manual):AT&T Syntax versus Intel Syntax //AT&T语法与Intel语法的对比-------------------------------orignal:In order to maintain compatibility with th
2012-10-26 18:14:40 2356
转载 Linux 中 x86 的内联汇编
Linux 中 x86 的内联汇编将各个部分组合起来Bharata B. Rao (rbharata@in.ibm.com)IBM Linux 技术中心,IBM 软件实验室,印度简介: Bharata B. Rao 提供了在 Linux 平台上使用和构造 x86 内联汇编的概括性介绍。他介绍了内联汇编及其各种用法的基础知识,提供了一些基本的内联汇编编码指
2012-10-26 16:41:34 837
转载 Linux 汇编语言开发指南
Linux 汇编语言开发指南肖文鹏 (xiaowp@263.net), 北京理工大学计算机系硕士研究生简介: 汇编语言的优点是速度快,可以直接对硬件进行操作,这对诸如图形处理等关键应用是非常重要的。Linux 是一个用 C 语言开发的操作系统,这使得很多程序员开始忘记在 Linux 中还可以直接使用汇编这一底层语言来优化程序的性能。本文为那些在Linux
2012-10-24 19:01:51 930
原创 C语言中,int的最大值与最小值:
1. 有符号数: 分析:计算机中有符号整数是用补码表示的。 对于有符号的n位二进制数的其取值范围为:最小值:-2^(n-1); 最大值:2^(n-1) -1;2.无符号数:对于无符号的n位二进制数的其取值范围为: 最小值:0; //(所有的位全0) 最大值:2^n - 1; //所有的位全为1;
2012-10-24 15:48:59 21516
转载 内核代码宏中 do{...}while(0) 的作用以及宏中#和##的作用及典型应用
在内核空间非常有限的情况下,为什么还要在某些宏里增加 do{...}while(0) 这种“没用”的代码行呢? 带参数的宏定义的一般形式为: #define () :一个标识符 :参数可以是一个或多个。多个参数之间用逗号分隔 :被替换用的字符串,字符串是由参数表中的各个参数组成的一个或
2012-10-24 08:42:02 1022
原创 用递归的方法求一个二叉树的深度。
用递归的方法求一个二叉树的深度。1. 空树的深度为0.2. 非空树的深度,为其左右子树中深度较大的子树的深度+1.代码实现:typedef struct node{ item_t item; struct node *left; struct node *right;} node_t;typedef node_t * Bi
2012-10-22 20:41:08 1213
原创 用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回。
用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回。分析: 可以通过交换首尾字符,实现字符串的反转,即就地反转。代码实现:void revert(char *str) { assert(NULL != str); if( NULL == str) return ; char *head = str;
2012-10-22 20:31:50 1698
转载 函数调用约定和堆栈
函数调用约定和堆栈1 什么是堆栈编译器一般使用堆栈实现函数调用。堆栈是存储器的一个区域,嵌入式环境有时需要程序员自己定义一个数组作为堆栈。Windows为每个线程自动维护一个堆栈,堆栈的大小可以设置。编译器使用堆栈来堆放每个函数的参数、局部变量等信息。函数调用经常是嵌套的,在同一时刻,堆栈中会有多个函数的信息,每个函数占用一个连续的区域。一个函数占用的区域被称作帧(frame)
2012-10-18 23:21:53 760
转载 从一道面试题谈linux下fork的运行机制
从一道面试题谈linux下fork的运行机制作者: EricZhang(T2噬菌体) 来源: 博客园 发布时间: 2010-10-09 17:31 阅读: 1557 次 原文链接 全屏阅读 [收藏] 摘要:由于fork函数运行机制的复杂性,造就了当两个fork并排时,问题就变得很复杂。解这个题的关键,一是要对linux下进程的机制有一定认识,二是抓住上文提到
2012-10-18 22:29:12 595
转载 面向对象的设计原则
对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平。 面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模
2012-10-17 14:44:25 642
转载 C语言实现封装、继承和多态
作者:Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://dongxicheng.org/cpp/ooc/1、 概述C语言是一种面向过程的程序设计语言,而C++是在C语言基础上衍生来了的面向对象的语言,实际上,很多C++实现的底层是用C语言实现的,如在Visual C++中的Interface其实就是struct,查找Int
2012-10-17 00:01:50 1075
转载 技巧:用 C 语言实现程序的多态性: C中只有两种类型int 和void *, 万能指针void *
技巧:用 C 语言实现程序的多态性王 广, 硕士研究生, 中国科学技术大学简介: 使用面向对象的语言可以实现多态,并且在很大程度上降低了代码的复杂性。对于面向过程的 C 语言同样可以实现多态,本文将着重介绍 C 语言是如何实现多态的。发布日期: 2010 年 8 月 17 日 级别: 初级 访问情况 : 8880 次浏览 评论:
2012-10-16 21:59:16 1693 1
转载 常见排序算法总结
排序(sorting)排序(Sorting)第一类:内部与外部排序第二类:稳定与不稳定排序法第三类:简单与高等排序法常见之排序算法冒泡排序(Bubble sorting)选择排序(Selection sorting)插入排序(Insertion sorting)快速排序(Quick sorting)堆排序(Heap sorting)希尔排
2012-10-15 23:23:50 872
原创 在整数集合S中寻找最大数整数C, 使 C = A + B,并且 A,B, C,都是S中的元素
题目:在整数集合S中寻找最大数整数C, 使 C = A + B,并且 A,B, C,都是S中的元素;分析:将集合S中所有元素排序,生成一个有序的序列,利用偏序序列的传递性。贪心的优化策略。1.首选对S中元素排序,升序。2. C = s[k] (k = len -1, ..... 2) ;每次选最大的元素为C,对于每个C,选A为最小的元素, 选B为仅次于C的最大元素
2012-10-15 21:00:29 1163
原创 题目:求两个方阵A,B的乘积
题目:求两个方阵A,B的乘积方阵product;分析 product[i,j] 是A的第i行的元素与B的第j列的元素 逐个乘积作和。即:。代码实现:#include #include int *multiplyMatrixs(int *a, int *b, int *p, int n);void printMatrixArray(in
2012-10-15 19:58:52 4420
原创 题目:给一个排序好的整数数组A,请写一个函数,输入是数组A和一个整数x,返回数组A中值小于x的最大元素的索引值
题目:给一个排序好的整数数组A(升序),请写一个函数,输入是数组A和一个整数key,返回数组A中值小于key的最大元素的索引值。分析:因为有序,故可以使用折半查找的思想,但是需要变通实现。实现如下:#include int modifiedBinarySearch(int list[], int len, int key);int main(int argc
2012-10-15 18:02:18 4142
转载 英文标点符号的读法
+ plus 加号;正号- minus 减号;负号± plus or minus 正负号× is multiplied by 乘号÷ is divided by 除号= is equal to 等于号≠ is not equal to 不等于号≡ is equivalent to 全等于号≌ is equal to or approximately equal
2012-10-11 17:02:47 705
原创 浅谈pthread和Linux调度策略
这是一年前的一个周总结: 由于下周要带的微机原理与接口实验的课程设计设计中有一个pthread编程的实验,就顺便了解了一下pthread。 Pthread,是POSIX thread简称。现代处理器都支持多线程编程,但不同的硬件厂商对线程的支持和实现不同,标准委员提出了POSIX thread 多线程的统一接口。Pthread 线程库提供了
2012-10-11 16:24:20 1934
Verilog HDL IEEE Std 1364-2001
2012-11-22
The Mathematics of the RSA Public-Key Cryptosystem
2012-01-05
RSA_theory :RSA的数学原理
2012-01-05
stm32f10x_fw_archive.zip
2012-01-02
STM32F10X在Keil MDK环境下在RAM中调试的设置方法.pdf
2012-01-02
stm32f10x标准固件库的帮助文档(stm32f10x_stdperiph_lib_um.chm)
2012-01-02
MySQL中文参考手册-chm格式┊Mysql官方权威教程.rar
2008-12-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人