
C++
只缘心高嫌地窄
hg
展开
-
C/C++ 网络编程: 各类协议数据结构
宏定义 一些宏定义 #define EPT_IP 0x0800 /* type: IP */#define EPT_ARP 0x0806 /* type: ARP */#define EPT_RARP 0x8035 /* type: RARP */#define ARP_HARDWARE 0x0001 /* Dummy type for 802.原创 2016-06-16 16:40:02 · 2837 阅读 · 0 评论 -
C/C++ 网络编程4: 基本TCP套接字编程
第一节 基本套接字函数创建套接字 定义: #include <sys/types.h>#include <sys/socket.h>int socket(int domain, int type, int protocol);返回:若成功返回一个正整数(套接字描述符),否则返回-1 套接字的域名(domain),代表套接字协议族 套接字的类型(types),最原创 2016-06-16 16:32:25 · 1372 阅读 · 0 评论 -
C/C++ 网络编程3: 套接字基础
部分信息参考 信息安全实验 信息安全实验四实验参考 参考 信息安全实验资料 四个PPT文件 server.c 套接字地址 Linux系统的套接字可以支持多种协议,每种不同的协议都是用不同的地址结构。 在头文件中定义了一个通用套接字地址结构sockaddr: struct sockaddr{ unsigned short sa_family; //16位原创 2016-06-16 16:25:11 · 7750 阅读 · 0 评论 -
16年软件杯 & 字符串读入处理 & 结构体指针初始化 & 随机函数
模拟车辆的程序 一个车辆模拟的小程序 #include <iostream>#include <cstdio>#include <cstring>#include <time.h>#include <stdlib.h>using namespace std;// 20km/h - 60km/h 108s之内(20km/h跑600m)肯定会拍到一次,30s(60km/h原创 2016-05-25 16:52:15 · 600 阅读 · 0 评论 -
Lex Yacc (四) 实际应用全代码
修改后的实际应用全代码 草木瓜(七) 精读 源代码有百度云存盘 复杂的逻辑判断简化成程序判断语句,可便于应用的扩展和维护,也极大增强了代码的可读性。 我们对整体文件划分如下: tree.l tree.y parser.h #内部编译使用的头文件 parser.c #内部编译的主函数 compile.h #内外部交互的头文件 main.c #外部程序 修改说原创 2016-05-23 12:27:26 · 3688 阅读 · 0 评论 -
Lex Yacc (三) 语法树打印
语法树打印 草木鱼(六) 源代码有百度云存盘 node.h 中有是否打印内容栈的开关 treeinput treeinput if(1>1||2>2)print(1);elseif(3>1&&2>2)print(2);elseprint(3); 和 再识语法树 中的文件放一起 bison -d lexya_e.y lex lexya_e.l原创 2016-05-23 12:21:55 · 3799 阅读 · 0 评论 -
Lex Yacc (二) 语法树
语法树的应用 草木瓜 (四) 源码见百度云盘 详细讲解:草木鱼(四) input input i=0;while(i<=10){print(i);i=i+1;}print(i+i);node.h node.h /* 定义树结点的权举类型 */typedef enum { TYPE_CONTENT, TYPE_INDEX, TYPE_OP }原创 2016-05-23 12:18:54 · 5160 阅读 · 0 评论 -
Lex Yacc (一) 入门
github 项目地址 草木瓜 准备工作 文法分析用Flex(Lex):将数据分隔成一个个的标记token (标示符identifiers,关键字keywords,数字numbers, 中括号brackets, 大括号braces, 等等etc.) 语法分析用Bison(Yacc): 在分析标记的时候生成抽象语法树. Bison 将会做掉几乎所有的这些工作, 我们定义好我们的原创 2016-05-23 12:11:33 · 22213 阅读 · 1 评论 -
c++ 编程规范
以前敲ACM时习惯了单文件,全局变量的风格,要努力向规范看齐 这是一个的数据库中间件程序,软件杯题目 自己以前的风格 上面的是中间件程序,下面的是单元测试 memDB.cpp#include <cstdio>#include <iostream>#include <vector>#include <map>#include<time.h>using namespa原创 2016-05-13 19:08:38 · 800 阅读 · 0 评论 -
Hash Compared & ELFHash 详解
部分转载自here 常用HASH算法 代码 & 比较 常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。 常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHas原创 2016-05-08 09:11:26 · 1396 阅读 · 0 评论 -
C++ Vector
整理自:here 在C++中的详细说明 vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。 vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象, 简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。 使用vector, 必须在你的头文件中包含下面的代码:原创 2016-05-05 10:50:22 · 1418 阅读 · 0 评论 -
C++ Map
STL… 更新中 map的基本操作函数: C++ Maps是一种关联式容器,包含“关键字/值”对 begin() 返回指向map头部的迭代器clear() 删除所有元素count() 返回指定元素出现的次数empty() 如果map为空则返回trueend() 返回指向map末尾原创 2016-05-05 10:28:01 · 375 阅读 · 0 评论 -
Compilers: Principles for C/C++ with .c & .h
转载自:.c与.h联系区别 .c与.h联系区别 那是一个被遗忘的年代,在编译器只认识.c(.cpp))文件,而不知道.h是何物的年代。 那时的人们写了很多的.c(.cpp)文件,渐渐地,人们发现在很多.c(.cpp)文件中的声明语句就是相同的,但他们却不得不一个字一个字地重复地将这些内容敲入每个.c(.cpp)文件。但更为恐怖的是,当其中一个声明有变更时,就需要检查所有的.c(.cp原创 2016-03-17 10:48:12 · 485 阅读 · 0 评论 -
64位Ubuntu中C与intel汇编混合编程
部分转载自:王宁 知识储备 默认情况下, GCC在链接时优先使用动态链接库,只有当动态链接库不存在时才考虑使用静态链接库,如果需要的话可以在编译时加上-static选项,强制使用静态链接库。 在Linux中无法使用masm,我想编译intel风格的汇编源程序,所以选择使用nasm。(AT&T风格的汇编源程序可以用as命令编译。) nasm和masm语法相似但亦有不同之处,具体请查原创 2016-03-13 09:51:52 · 2053 阅读 · 0 评论 -
C++ 小程序
#include <cstdio> #include <iostream> using namespace std; int main(){ freopen("in.txt", "r", stdin); freopen("out.txt", "w", stdout); string str; //while(ge原创 2016-01-31 16:57:10 · 737 阅读 · 0 评论 -
VS2010创建并使用DLL
一、为什么需要dll代码复用是提高软件开发 效率的重要途径。一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用。比较常见的例子是各种应用程序框架, 如ATL、MFC等,它们都以源代码的形式发布。由于这种复用是“源码级别”的,源代码完全暴露给了程序员,因而称之为“白盒复用”。“白盒复用”的缺点 比较多,总结起来有4点。暴露了源代码;容易与转载 2015-08-13 17:01:17 · 7623 阅读 · 0 评论 -
VC++的Unicode编程
文章转载自:http://www.vckbase.com/index.php/wv/1438文章概要:先从ASCII说起,ASCII是用来表示英文字符的一种编码规范。每个ASCII字符占用1个字节,因此,ASCII编码可以表示的最大字符数是255(00H—FFH)。其实,英文字符并没有那么多,一般只用前128个(00H—7FH,最高位为0),其中包括了控制字符、数字、大小写字母转载 2015-08-09 23:54:26 · 2188 阅读 · 0 评论