- 博客(76)
- 资源 (15)
- 收藏
- 关注
原创 LLVM 源码分析(五)BasicBlockPass
BasicBlockPass 主要增加doInitaliztion(Function &) ;doFinalization(Function &);runOnBasicBlock();注意参数为Funtion & 和FunctionPass 的Module 引用有区别其实都和前面相似 BasicBlockPass 比FunctionPass粒度更小 使用方式如下
2013-04-01 16:02:01
4675
原创 LLVM 源码分析(四)FunctionPass
FunctionPass 主要增加doInitaliztion() ;doFinalization();runOnFunction();1.bool FunctionPass::doInitialization(Module &) { // By default, don't do anything. return false;}bool Functio
2013-04-01 14:44:01
3705
原创 LLVM 源码分析(三)ImmutablePass
//===----------------------------------------------------------------------===///// ImmutablePass class - This class is used to provide information that does/// not need to be run. This is useful
2013-04-01 14:40:47
1745
原创 LLVM 源码分析 (二)ModulePass 类
上一篇写的是关于pass 类 这个类是一个抽象类 具体实现是通过例如modulePass FunctionPass实现的本文将重点介绍module pass 这个Pass 可以操作整个module 是以文件进行区分的。ModulePass 可以操作Module 下的大部分 基本是万能的但是不是最方便的。我们需要根据需要选择 FunctionPass LoopPass 等vs20
2013-03-29 13:49:52
2982
原创 LLVM 源码分析 (一) pass 类
Pass interface - Implemented by all 'passes'. Subclass this if you are an interprocedural optimization or you do not fit into any of the more constrained passes described below. 摘取自pass.h 更清
2013-03-28 17:26:30
4729
原创 python 系统学习笔记(十五)---正则表达式
剽窃自http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html 请勿见怪1. 正则表达式基础1.1. 简单介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表
2013-03-12 15:36:54
1229
原创 python 系统学习笔记(十四)---排序
在 Python 中, 当需要对一个 list 排序时, 一般可以用 list.sort() 或者 sorted(iterable[, cmp[, key[, reverse]]]).其中:cmp(e1, e2) 是带两个参数的比较函数, 返回值: 负数: e1 e2. 默认为 None, 即用内建的比较函数.key 是带一个参数的函数, 用来为每个元素提取比较值. 默认为 None
2013-03-12 12:00:13
1346
原创 python 系统学习笔记(十三)---lambda
1 python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量。2 python lambda它只是一个表达式,而def则是一个语句。lambda 语句被用来创建新的函数对象,并且在运行时返回它们。#!/usr/bin/python# Filename: lambda.pydef make_repeat
2013-03-12 11:00:57
972
原创 python 系统学习笔记(十二)---os os.path os.walk
得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.isfile()检验给出的路径是否是一个目录:os.path.isdir()判断
2013-03-12 09:20:54
2017
原创 python 系统学习笔记(十一)---sys
sys.argv 命令行参数List,第一个元素是程序本身路径 sys.modules.keys() 返回所有已经导入的模块列表 sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息 sys.exit(n) 退出程序,正常退出时exit(0) sys.
2013-03-11 20:07:33
1159
原创 python 系统学习笔记(十)---类
self类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self。虽然你可以给这个参数任何名称,但是 强烈建议 你使用self这个名称——其他名称都是不赞成你使用的。 Python中的self等价于C++中的self指针和Java
2013-03-11 19:15:17
1204
原创 python 系统学习笔记(九)---异常处理
Python的异常处理能力是很强大的,可向用户准确反馈出错信息。在Python中,异常也是对象,可对它进行操作。所有异常都是基类Exception的成员。所有异常都从基类Exception继承,而且都在exceptions模块中定义。Python自动将所有异常名称放在内建命名空间中,所以程序不必导入exceptions模块即可使用异常。一旦引发而且没有捕捉SystemExit异常,程序执行就会终止
2013-03-11 16:27:57
1592
1
原创 python 系统学习笔记(八)---文件操作
模式描述r以读方式打开文件,可读取文件信息。w以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容a以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建r+以读写方式打开文件,可对文件进行读和写操作。
2013-03-07 09:59:34
5038
原创 python 系统学习笔记(七)---set
python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算. sets 支持 x in set, len(set),和 for x in set。作为一个无序的集合,sets不记录元素位置或者
2013-03-06 22:05:20
3121
原创 python 系统学习笔记(六)---元组
元组元组和列表十分类似,只不过元组和字符串一样是 不可变的 即你不能修改元组。元组通过圆括号中用逗号分割的项目定义。元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。使用元组#元组由不同的元素组成,每个元素可以存储不同类型的数据,例如 字符串、数字和元组 #元组通常代表一行数据,而元组中的元素则代表不同的数据项
2013-03-06 16:41:17
1149
1
原创 python 练习题
[['A','1'],['B','2'], ['C','3'], ['A','4'], ['B','5'], ['C','6'], ['A','1'], ['B','1'], ['C','1']]分别将这里面的A所对应的数都相加,B所对应的数相加,C所对应的数相加这里面的A,B,C是随机的 有可能下回就是G,H,I了 list=[['A','1'],['B','2'], ['C','
2013-03-06 13:17:33
2056
3
原创 python 系统学习笔记(五)---字典
字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。注意,你只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以不可变或可变的对象作为字典的值。基本说来就是,你应该只使用简单的对象作为键。键值对在字典中以这样的方式标记:d = {key1 : v
2013-03-05 15:55:47
1834
2
原创 python 系统学习笔记(四)--list
1、列表列表是一种用于保存有序元素集合的数据结构,即你可以在列表中存储元素序列。考虑一个购物清单,上面有你需要购买的物品列表,只不过你可能希望以分号分隔他们而到Python变成了逗号。列表元素被包含在方括号中,这样Python就会才会明白你指定的是一个列表。一旦列表创建完毕,我们可以对其元素进行添加,删除和搜索。正是因为可以执行添加和删除操作,我们将列表称作可变类型,即这种类型可以
2013-03-05 09:47:38
1532
3
原创 python 系统学习笔记(三)---function
函数:一、什么是函数很多时候,Python程序中的语句都会组织成函数的形式。通俗地说,函数就是完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字,这样,我们就可以通过函数名在程序的不同地方多次执行(这通常叫做函数调用),却不需要在所有地方都重复编写这些语句。另外,每次使用函数时可以提供不同的参数作为输入,以便对不同的数据进行处理;函数处理后,还可以将相应的结果反馈给
2013-03-04 16:54:14
2207
原创 python 系统学习笔记(二)---string
str='python String function'生成字符串变量str='python String function'字符串长度获取:len(str)例:print '%s length=%d' % (str,len(str))字母处理全部大写:str.upper()全部小写:str.lower()大小写互换:str.swapcase()
2013-03-04 15:58:21
2484
1
原创 python 系统学习笔记(一)
目标:熟悉python语言,以及学会python的编码方式。如果你在window下, 去下载 http://www.python.org/getit/安装起来, 然后运行python, 进入python解释环境。如果你在ubuntu下, 执行: sudo apt-get install python, 然后在命令行下运行python, 进入python解释环境。
2013-03-04 13:18:57
2545
1
原创 程序只允许运行一次
#include#includeint main(int argc,char *argv[]){HANDLE hMutex;DWORD dwErr;hMutex=CreateMutex(NULL,//无安全描述FALSE,//没有所有者 "HACK");//对象名 if(hMutex==NULL)//hMutex为NULL标示创建失败{Mes
2012-02-02 14:05:03
833
原创 赋值运算符
// AssignmentOperator.cpp : Defines the entry point for the console application.////赋值运算符函数#include "stdafx.h"#include class CMyString{public: CMyString(char* pData = NULL);
2011-12-26 14:06:53
407
原创 Menu
动态修改Menu //主菜单对象 CMenu * pMainMenu=AfxGetMainWnd()->GetMenu(); CMenu* pSubMenu=NULL; //查找ID_TEST_HELLO for(int i=0;iGetMenuItemCount();i++) { pSubMenu=pMainMenu->GetSubMenu(i); if
2011-12-21 16:05:12
723
原创 MFC集合
1.界面上实现3D文字OnPaint()else { CPaintDC dc(this); // device context for painting CString string; string="VC编程实例"; CFont m_fontLogo; m_fontLogo.CreateFont(44, 0, 0, 0, 55, FALSE, FALSE,0,0,
2011-12-16 15:36:10
511
原创 截屏到剪切板
HBITMAP CExampleDlg::CopyScrToBit(LPRECT lpRect){ HDC hScrDC, hMemDC; HBITMAP hOldBitmap; int nX, nY, nX2, nY2; int nWidth, nHeight; int
2011-12-16 15:10:24
1529
原创 全屏和退出全屏
1.添加变量 WINDOWPLACEMENT m_OldWndPlacement; //用来保存原窗口位置 BOOL m_bFullScreen; //全屏显示标志 CRect m_FullScreenRect; //表示全屏显示时的窗口位置 2.全屏 GetWindowPlacement(&m_OldWndPlacement); CRect
2011-12-16 13:30:31
4021
原创 开始等待画面
// CG: This file was added by the Splash Screen component.#ifndef _SPLASH_SCRN_#define _SPLASH_SCRN_// Splash.h : header file///////////////////////////////////////////////////////////
2011-12-16 13:11:09
627
原创 窗口启动 透明等处理
窗口的动画效果其实我们只要会用一个windows的api就可以了,下面我来介绍一下这个api函数原型:BOOL AnimateWindow(HWND hWnd,DWORD dwTime,DWORD dwFlags)函数功能:能在窗口打开或者隐藏时产生动画效果。参数含义:hWnd:指定产生动画效果的窗口句柄。dwTime:指明动画持续时间(以毫秒计算),动画的标准时间应该
2011-12-16 10:51:25
806
原创 wcstombs_s 宽字节转多字节
// crt_wcstombs_s.c// This example converts a wide character// string to a multibyte character string.#include #include #include #define BUFFER_SIZE 100int main( void ){ size_
2011-12-02 14:31:09
12209
原创 读写ini
// rwini.h: interface for the Crwini class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_RWINI_H__7D3FE520_41BD_41E6_A155_5DE0DE3B4625__INCLUDED_)#
2011-11-24 22:58:36
818
转载 vs2008 中加入注释宏
1.注释宏函数定义,请修改DefaultUserName 为自己的姓名 Sub AddHeadDesc() 'DESCRIPTION: 添加一个标准的头文件说明 DTE.ActiveDocument.Selection.StartOfDocument() DefaultUserName = "XXX"
2011-11-10 15:32:48
1606
原创 字画卷动类的实现代码
// public API // create the window; remove WS_VSCROLL to avoid showing scrollbar, remove WS_TABSTOP to disable keyboard scrolling. BOOL Create(const RECT& rect, CWnd* pParentWnd, UINT uStyle =
2011-11-03 16:53:41
558
转载 时间
//方案— 优点:仅使用C标准库;缺点:只能精确到秒级#include #include int main( void ) { time_t t = time( 0 ); char tmp[64]; strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z"
2011-10-22 21:36:36
389
转载 堆和栈
堆: 是大家共有的空间,分全局堆和局部堆。全局堆就是所有没有分配的空间,局部堆就是用户分配的空间。堆在操作系统对进程初始化的时候分配,运行过程中也可以向系统要额外的堆,但是记得用完了要还给操作系统,要不然就是内存泄漏。栈:是个线程独有的,保存其运行状态和局部自动变量的
2011-10-09 12:54:22
402
原创 作业贴—随便粘在这
1.费波序列问题 #include "stdafx.h"int Pheponatch(int n);int main(int argc, char* argv[]){ int n; printf("输入n的值:"); scanf("%d", &n); printf("%d\n",Pheponatch(n)); return 0;}int
2011-10-09 09:32:48
723
原创 内存相关函数
一、malloc可以知道函数原型是: Void *calloc(size_t size) ,包含在库函数 stdlib.h中,作用是在内存的堆区分配一个大小为size的连续空间,如果分配内存成功,函数返回新分配内存的首地址,否则,返回NULLmalloc 向系统申请分
2011-09-23 14:35:47
787
原创 C++的多重继承
class 派生类名: 访问控制关键字基类名1, 访问控制关键字 基类名2,...{ 数据成员和成员函数声明};没啥好解释的 访问权限和单一继承是一样的派生方式基类的public成员基类的protected成员基类的priva
2011-09-22 15:58:08
478
转载 c控制台学生管理系统
#include #include #include #define _COURSES 3//定义科目数#define _LEN sizeof(student)//定义结构体大小//枚举返回值情况enum status{ OVERFLOW
2011-09-09 09:21:30
1102
转载 实现可以定制数量的随机数
int RAND[20];randEx(int MAX,int NUM) { int k=0; int j=0; time_t t; srand((unsigned) time(&t));//设置rand函数所用的启始种子值,以期每次产生的随机数序列均
2011-09-07 14:01:53
446
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人