2012年5月6日

程序员人生之路 -转载

摘要: 程序员人生之路(强烈推荐,分析的透彻!),某程序达人的人生感悟,估计没有半个甲子的时间,是绝对不可能感悟出来的。转载自CSDN论坛:http://topic.csdn.net/u/20110323/16/16ebe2ac-bca5-49da-a050-45cf522a0828.html原文在网上找了下:http://blog.csdn.net/b136364111/archive/2007/12/10/1927073.aspx本文所指的开发工程师,仅指程序开发人员和以数字电路开发为主的电子工程师。 当你选择计算机或者电子、自控等专业进入大学时,你本来还是有机会从事其它行业的,可你毕业时执迷不. 阅读全文

posted @ 2012-05-06 17:28 艾杏佛 阅读(198) 评论(0) 推荐(0) 编辑

2011年10月21日

表达式"x=x&(x-1)

摘要: x = x & (x - 1)含义:这条语句执行一次,就会把x用二进制格式表示时的最右边的一个二进制1变为二进制0,因为x-1会将该位(x用二进制表示时最右边的一个二进制1)变为0;应用1:把一个整数用二进制表示时,其中二进制1的个数;int Func(int x){ int count = 0; while(x) { x = x & (x - 1); count++; } return count;};设x=9999,其二进制格式为: 10011100001111; 则count=8;思路:将x转化为二进制格式,统计一下含有的二进制1的个数;应用2:判断一个整数(x)是否是2 阅读全文

posted @ 2011-10-21 14:01 艾杏佛 阅读(970) 评论(0) 推荐(0) 编辑

输出

摘要: 一: #define ADD(p) {p++;(*p)++;} Add(int *p){p++;(*p)++;} int a[]={0,1,2}; int main() { int *p=a; ADD(p) ADD(p) printf("%d,%d,%d\n",a[0],a[1],a[2]); p=a; Add(p); Add(p); printf("%d,%d,%d\n",a[0],a[1],a[2]); } 输出是多少?输出:0,2,30,4,3二:void test(char *p){ p+=3; } int main() {char *p = & 阅读全文

posted @ 2011-10-21 11:33 艾杏佛 阅读(469) 评论(0) 推荐(0) 编辑

char str[] 和 char *str 的区别(zhuan)

摘要: char*get_str(void){charstr[]={"abcd"};returnstr;} char str[] = {"abcd"};定义了一个局部字符数组,尽管是数组,但它是一个局部变量,返回它的地址肯定是一个已经释放了的空间的地址。 此函数返回的是内部一个局部字符数组str的地址,且函数调用完毕后 此数组被销毁,所以你返回的指针也就指向一块被销毁的内存,这种写法是错误的。char*get_str(void){char*str={"abcd"};returnstr;} char* str = {"abcd&quo 阅读全文

posted @ 2011-10-21 11:30 艾杏佛 阅读(1501) 评论(0) 推荐(0) 编辑

2011年10月14日

数据类型对应字节数(转载)

摘要: 一、程序运行平台不同的平台上对不同数据类型分配的字节数是不同的。个人对平台的理解是CPU+OS+Compiler,是因为:1、64位机器也可以装32位系统(x64装XP);2、32位机器上可以有16/32位的编译器(XP上有tc是16位的,其他常见的是32位的);3、即使是32位的编译器也可以弄出64位的integer来(int64)。以上这些是基于常见的wintel平台,加上我们可能很少机会接触的其它平台(其它的CPU和OS),所以个人认为所谓平台的概念是三者的组合。虽然三者的长度可以不一样,但显然相互配合(即长度相等,32位的CPU+32位的OS+32位的Compiler)发挥的能量最大。 阅读全文

posted @ 2011-10-14 15:26 艾杏佛 阅读(162) 评论(0) 推荐(0) 编辑

2011年9月16日

完整ASCII码对照表

摘要: 完整ASCII码对照表 完整ASCII码对照表0 NUT 32 (space) 64 @ 96 、1 SOH 33 ! 65 A 97 a2 STX 34 ” 66 B 98 b3 ETX 35 # 67 C 99 c4 EOT 36 $ 68 D 100 d5 ENQ 37 % 69 E 101 e6 ACK 38 & 70 F 102 f7 BEL 39 , 71 G 103 g8 BS 40 ( 72 H 104 h9 HT 41 ) 73 I 105 i10 LF 42 * 74 J 106 j11 VT 43 75 K 107 k12 FF 44 , 76 L 108 l13 阅读全文

posted @ 2011-09-16 16:23 艾杏佛 阅读(1231) 评论(0) 推荐(0) 编辑

2011年8月26日

phpMyAdmin使用教程

摘要: phpMyAdmin 是使用 PHP 编写的,以网页方式管理 MySQL 数据库的一个开源管理工具。使用 phpMyAdmin 可以在网页中方便的输入 SQL 语句,尤其是要处理大量数据的导入和导出时更为方便。其中一个更大的优势在于由于 phpMyaAdmin 跟其他 PHP 页面一样在网页服务器上执行,可以远程管理 MySQL 数据库,方便的建立、修改、删除数据库和表。phpMyAdmin 官方网站: http://www.phpmyadmin.net/本文分为六个部分:一、设置数据库用户权限二、检查和修改数据库三、修复数据库四、恢复和备份数据库五、执行SQL语句六、参考资料一、设置数据库用 阅读全文

posted @ 2011-08-26 15:26 艾杏佛 阅读(889) 评论(0) 推荐(0) 编辑

2011年8月16日

inet_ntoa函数的问题- 网络编程

摘要: 转自:http://blog.ednchina.com/yqally/1969057/message.aspx 简述: 将网络地址转换成“.”点隔的字符串格式。 #include <winsock.h> char FAR* PASCAL FAR inet_ntoa( struct in_addr in); in:一个表示Internet主机地址的结构。 注释: 本函数将一个用in参数所表示的Internet地址结构转换成以“.” 间隔的诸如“a.b.c.d”的字符串形式。请注意inet_ntoa()返回的字符串存放在WINDOWS套接口实现所分配的内存中。应用程序不应假设该内存是如 阅读全文

posted @ 2011-08-16 15:29 艾杏佛 阅读(1065) 评论(0) 推荐(0) 编辑

2011年8月8日

为在telnet自己TCP服务器程序的界面上实现shell一样的自动补齐和历史记录的功能

摘要: 转自 http://blog.csdn.net/ren911/article/details/57059551. 目的希望在 telnet 自己 TCP 服务器程序的界面上实现 shell 一样的自动补齐和历史记录的功能。2. 问题程序的远程登陆的 telnet 界面通常是通过一个 TCP 服务器来实现的,但是如果想在这个 TCP 服务器端实现客户端登陆界面的自动补齐和历史记录的功能会有如下的问题:( 1 )常见的 telnet 客户端是以行模式发送数据的,即输入一个字符串后再按一个回车,整个数据才会被发送到服务器端。( 2 )常见的 telnet 客户端是自动回显的,即你在键盘上输入一个字符 阅读全文

posted @ 2011-08-08 21:49 艾杏佛 阅读(1302) 评论(0) 推荐(0) 编辑

关于Linux静态库和动态库的分析

摘要: 基本概念 库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。 例如:libhello.so libhello.a 为了在同一系统中使用不同版本的库,可以在库文件名后加上版本号为后缀,例如: libhello.so.1.0,由于程序连接默认以.so为文件后缀名。所以为了使用这些库,通常使用建立符号连接的方式。 ln -s libhello.so.1.0 libhello.so.1 ln -s libhello.so.1 libhello.so 1、使用库 当要使用静态的程序库时,连接器会找出程序所需的函数,然后将它们拷贝到执行文件,由于这种拷贝是完整的,所以一旦连接成功,静态程序库也 阅读全文

posted @ 2011-08-08 14:33 艾杏佛 阅读(278) 评论(0) 推荐(0) 编辑

导航