自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 资源 (29)
  • 问答 (2)
  • 收藏
  • 关注

转载 vc 限制软件的使用次数或时间

http://blog.csdn.net/rach09/article/details/7994776 实现其功能需要三步:            1、保存软件的使用次数或时间。             2、读次数和时间数据,在软件中进行处理。             3、对软件进行相应控制。   存放位置包抱以下位置:             1、保存到C盘中。     

2014-05-30 09:12:12 3584 1

转载 VC6.0环境设置说明

VC环境设置说明   所谓:“工欲善其事,必先利其器”。如果我们精于VC开发环境,我们是不是能够做得更加游刃有余呢? 先来看一下VC的处理流程,大致分为两步:编译和连接。源文件通过编译生成了.obj文件;所有.obj文件和.lib文件通过连接生成.exe文件或.dll文件。 编译参数的设置。主要通过VC的菜单项Project->Settings->C/C++页来完成。我们可以看到这

2014-05-30 08:43:53 7236

读写锁rwlock读写锁rwlock

读写锁rwlock读写锁rwlock

2021-03-22

完成端口源码(包含多个例子)

多个C++例子

2021-03-04

(chkmatch)检查或强制pdb与dll匹配

chkmatch [-c ExeFile DebugInfoFile ] | [-m ExeFile DebugInfoFile] -c Check matching between the executable and the debug information file. -m Make the executable and the debug information file match. ExeFile The name of the executable file. DebugInfoFile The name of the debug information file.

2018-08-24

GENESIS 2000 DFM PE

The DFM Programming Environment is one of the many unique concepts of the Genesis 2000 system. Unlike any existing tool, the DFM Programming Environment (DFMPE) enables any user with elementary programming capability to expand the functions of the Genesis 2000 system significantly. It allows the user to add custom features to the system immediately, as and when required, without having to wait for the R&D department to deliver. These customized features are not added on as scripts to be interpreted slowly but as fully compiled and integrated functions of the system. Once installed, the customized features will be retained with each upgrade of the system with a new version. The DFMPE concept introduces a novel approach that may require getting used to, but once achieved, the benefits are numerous. Among the frequently asked questi Chapter 1 Overview Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Intended Readers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Organization of this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Chapter 2 Basic Concepts Function Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 External Resource File (ERF) - Basic . . . . . . . . . . . . . . . . . . . 19 Action Icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Help File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Implementation Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 A Comprehensive Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 File Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 The ERF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 File Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 The Makefile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Reentry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Bringing It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Chapter 3 Advanced Topics Implementation of Objects in DFMPE . . . . . . . . . . . . . . . . . . . 34 Layer and List Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Feature Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Shape Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Component Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 The Progress Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430205.0806 DFM Programming Environment 3 The External Resource File (ERF) - Detailed . . . . . . . . . . . . . 44 THE LAYER FIELD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 LAYER FIELD SYNTAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Local Area Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Editing Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Spacing Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Negative Layers Opened as Positive . . . . . . . . . . . . . . . . . . . . 62 Chapter 4 Functions Format of Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 ODB_EDT_CLOSE_LIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 ODB_EDT_GET_JOB_ATTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 ODB_EDT_GET_JOB_STEP_NAME . . . . . . . . . . . . . . . . . . . . . . . . . 66 ODB_EDT_GET_MIN_BRUSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 ODB_EDT_GET_STEP_ATTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 ODB_EDT_MESSAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 ODB_EDT_OPEN_LIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 ODB_EDT_PROGRESS_FRAME_OPEN . . . . . . . . . . . . . . . . . . . . . . 71 ODB_EDT_PROGRESS_FRAME_CLOSE . . . . . . . . . . . . . . . . . . . . . 72 ODB_EDT_PROGRESS_STEP_ADVANCE . . . . . . . . . . . . . . . . . . . 73 OBD_EDT_PROGRESS_STEP_OPEN . . . . . . . . . . . . . . . . . . . . . . . . 74 ODB_EDT_PROGRESS_STEP_CLOSE . . . . . . . . . . . . . . . . . . . . . . . 75 ODB_EDT_PROGRESS_STEP_RESET . . . . . . . . . . . . . . . . . . . . . . . 76 ODB_EDT_PROGRESS_TITLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 ODB_EDT_REFRESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 ODB_EDT_RUN_LIMITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 ODB_EDT_COMMAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 ODB_EDT_SCRIPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 ODB_EDT_RUN_IN_PROFILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 ODB_F_ADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 ODB_F_AREA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 ODB_F_CHANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 ODB_F_CONV_STD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 ODB_F_COPY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 ODB_F_DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 ODB_F_DELETE_ATTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 ODB_F_GET_ATTR_LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 ODB_F_GET_ATTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 ODB_F_GET_LIMITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 ODB_F_GET_TOUCHING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 ODB_F_GET_SYM_NAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 ODB_F_GET_SYM_RES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 ODB_F_IS_STANDARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 ODB_F_NF_TO_SHAPE_LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 970205.0806 DFM Programming Environment 4 ODB_F_RESIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 ODB_F_RESIZE_VERIFY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 ODB_F_RESIZE_BY_XY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 ODB_F_RESIZE_FACTOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 ODB_F_SURROUND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 ODB_F_SET_ATTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 ODB_F_SET_FONT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 ODB_F_SET_SYM_RES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 ODB_F_TO_SHAPE_LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 ODB_F_VALIDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 ODB_FUNC_EVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 ODB_FUNC_GET_DOMAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 ODB_FUNC_LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 ODB_EDA_ALL_INFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 ODB_EDA_CLASSIFY_COMP_SEG . . . . . . . . . . . . . . . . . . . . . . . . 112 ODB_EDA_COMP_DELETE_ATTR . . . . . . . . . . . . . . . . . . . . . . . . 113 ODB_EDA_COMP_GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 ODB_EDA_COMP_GET_ATTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 ODB_EDA_COMP_GET_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 ODB_EDA_COMP_SET_ATTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 ODB_EDA_COMP_GET_PADS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 ODB_EDA_F_FIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 ODB_EDA_FID_GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 ODB_EDA_LYR_GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 ODB_EDA_NET_GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 ODB_EDA_SUBNET_GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 ODB_EDA_TOEP_GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 ODB_EDA_TOEP_SHAPE_GET . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 ODB_EDA_TOEP_SIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 ODB_LAYER_CLEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 ODB_LAYER_DELETE_ALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 ODB_LAYER_CLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 ODB_LAYER_CONTOURIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 ODB_LAYER_COPPER_AREA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 ODB_LAYER_COPY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 ODB_LAYER_COPY_TEMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 ODB_LAYER_COUNT_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 ODB_LAYER_COUNT_NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 ODB_LAYER_COUNT_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 ODB_LAYER_CREATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 ODB_LAYER_CREATE_TEMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 ODB_LAYER_DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 ODB_LAYER_DRILL_THROUGH . . . . . . . . . . . . . . . . . . . . . . . . . 140 ODB_LAYER_DRILLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 ODB_LAYER_EXISTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 ODB_LAYER_GET_ATTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 ODB_LAYER_WAS_OPENED_POS . . . . . . . . . . . . . . . . . . . . . . . . 1440205.0806 DFM Programming Environment 5 ODB_LAYER_GET_DATUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 ODB_LAYER_GET_PROFILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 ODB_LAYER_GET_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 ODB_LAYER_GET_F_EXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 ODB_LAYER_GET_F_AREA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 ODB_LAYER_GET_F_BY_NF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 ODB_LAYER_GET_LNAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 ODB_LAYER_GET_NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 ODB_LAYER_GET_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 ODB_LAYER_GET_SHAPE_BY_NFC . . . . . . . . . . . . . . . . . . . . . . 154 ODB_LAYER_GET_WORK_LNAME . . . . . . . . . . . . . . . . . . . . . . . 155 ODB_LAYER_LIMITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 ODB_LAYER_NAME_TO_LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 ODB_LAYER_NAME_TO_LIST_POS . . . . . . . . . . . . . . . . . . . . . . . 158 ODB_LAYER_OPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 ODB_LAYER_OPEN_POS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 ODB_LAYER_PROFILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 ODB_LAYER_SET_SPAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 ODB_LAYER_QUICK_NEXT_DEL . . . . . . . . . . . . . . . . . . . . . . . . . 163 ODB_LAYER_SELECT_NF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 ODB_LAYER_RENAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 ODB_LAYER_SELECT_CLEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 ODB_LAYER_SET_ATTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 ODB_LAYER_CONNECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 ODB_LAYER_SUBPROFILES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 ODB_LAYER_SUBSTITUTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 ODB_LAYER_SYNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 ODB_LAYER_UNDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 ODB_LAYER_UNDO_FETCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 ODB_LAYER_UNDO_GET_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 ODB_LAYER_UNDO_MARK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 ODB_LAYER_UNDO_RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 ODB_LAYER_DELETE_SHAPE_LIST . . . . . . . . . . . . . . . . . . . . . . 178 ODB_LAYER_COMPENSATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 ODB_LAYER_GET_USER_ATTR . . . . . . . . . . . . . . . . . . . . . . . . . . 180 ODB_RES_ADD_ATTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 ODB_RES_ADD_CATEGORIES . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 ODB_RES_SORT_CATEGORIES . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 ODB_RES_ADD_MEAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 ODB_RES_ADD_MEAS_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 ODB_RES_CALC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 ODB_RES_CATEGORY_EXISTS . . . . . . . . . . . . . . . . . . . . . . . . . . 187 ODB_RES_CLASSIFY_LOCATION . . . . . . . . . . . . . . . . . . . . . . . . 188 ODB_RES_CLASSIFY_BY_PROC . . . . . . . . . . . . . . . . . . . . . . . . . . 189 ODB_RES_GET_ATTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 ODB_RES_GET_CATEGORIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 ODB_RES_GET_CATEGORY_TITLE . . . . . . . . . . . . . . . . . . . . . . . 1920205.0806 DFM Programming Environment 6 ODB_RES_GET_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 ODB_RES_GET_MEAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 ODB_RES_GET_MEAS_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 ODB_RES_GET_RANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 ODB_RES_REPORT_ACTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 ODB_RES_REPORT_ALARMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 ODB_RES_REPORT_HDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 ODB_RES_REPORT_HIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 ODB_RES_REPORT_TAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 ODB_RES_REPORT_TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 ODB_RES_SET_CAT_LIMITS_SENSITIVE . . . . . . . . . . . . . . . . . . 206 ODB_RES_SET_DISP_LYRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 ODB_RES_SET_MEAS_SCALAR . . . . . . . . . . . . . . . . . . . . . . . . . . 208 ODB_RES_SET_MEAS_SCALAR_SQR . . . . . . . . . . . . . . . . . . . . . 209 ODB_RES_SET_MEAS_ID_SCALAR . . . . . . . . . . . . . . . . . . . . . . . 210 ODB_RES_SET_MEAS_ID_TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . 212 ODB_RES_SET_SUB_CATEGORY . . . . . . . . . . . . . . . . . . . . . . . . . 214 ODB_RES_TYPICAL_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 ODB_SETUP_GET_ERF_UNITS . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 ODB_SETUP_GET_ERF_VAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 ODB_SETUP_GET_ERF_VAR2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 ODB_SETUP_GET_ERF_VAR1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 ODB_SETUP_CHECK_ERF_VAR . . . . . . . . . . . . . . . . . . . . . . . . . . 220 ODB_SETUP_GET_ERF_VAR_NUMBER . . . . . . . . . . . . . . . . . . . 221 ODB_SETUP_GET_ERF_VAR_PIXELS . . . . . . . . . . . . . . . . . . . . . 222 ODB_SETUP_GET_PARAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 ODB_SETUP_GET_PARAM_OPTION . . . . . . . . . . . . . . . . . . . . . . 224 ODB_SETUP_SET_MODIFY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 ODB_SHAPE_AIR_GAP_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . 226 ODB_SHAPE_AIR_GAP_LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 ODB_SHAPE_AREA_DIFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 ODB_SHAPE_AREA_INTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 ODB_SHAPE_AREA_UNION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 ODB_SHAPE_AREA_UNION_TOL . . . . . . . . . . . . . . . . . . . . . . . . . 231 ODB_SHAPE_AREA_RECT_COVER . . . . . . . . . . . . . . . . . . . . . . . 232 ODB_SHAPE_BOTTLENECK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 ODB_SHAPE_CALC_AREA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 ODB_SHAPE_CENTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 ODB_SHAPE_CENTER_LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 ODB_SHAPE_CLOSE_TRI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 ODB_SHAPE_COPPER_AREA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 ODB_SHAPE_COUNT_CONT_NREC . . . . . . . . . . . . . . . . . . . . . . . 239 ODB_SHAPE_COVER_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 ODB_SHAPE_COVER_LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 ODB_SHAPE_COVER_LIST_MAX . . . . . . . . . . . . . . . . . . . . . . . . . 243 ODB_SHAPE_DIST_MAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 ODB_SHAPE_DIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450205.0806 DFM Programming Environment 7 ODB_SHAPE_DIST_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 ODB_SHAPE_DIST_LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 ODB_SHAPE_END_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 ODB_SHAPE_LINE_END_SEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 ODB_SHAPE_EXPAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 ODB_SHAPE_EXT_POINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 ODB_SHAPE_FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 ODB_SHAPE_GET_HOLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 ODB_SHAPE_GET_ISLAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 ODB_SHAPE_GET_CONT_EDGES . . . . . . . . . . . . . . . . . . . . . . . . . 255 ODB_SHAPE_INTERSECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 ODB_SHAPE_LEFT_SLIVER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 ODB_SHAPE_LIMITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 ODB_SHAPE_LIMITS_LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 ODB_SHAPE_MIDPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 ODB_SHAPE_LIST_NEAR_LAYER . . . . . . . . . . . . . . . . . . . . . . . . 261 ODB_SHAPE_MOVE_CONT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 ODB_SHAPE_MOVE_SEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 ODB_SHAPE_NEAR_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 ODB_SHAPE_NEAR_LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 ODB_SHAPE_NEAR_OUTLINE_LAYER . . . . . . . . . . . . . . . . . . . . 266 ODB_SHAPE_PAR_DIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 ODB_SHAPE_POLYS2CONT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 ODB_SHAPE_RESIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 ODB_SHAPE_RESIZE_CONT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 ODB_SHAPE_RESIZE_IDENTICAL . . . . . . . . . . . . . . . . . . . . . . . . 271 ODB_SHAPE_SIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 ODB_SHAPE_SIZE_LINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 ODB_SHAPE_SIZE_PAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 ODB_SHAPE_SORT_RECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 ODB_SHAPE_SORT_RECTS_2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 ODB_SHAPE_SKELETON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 ODB_SHAPE_TANGENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 ODB_SHAPE_TOUCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 ODB_SHAPE_TOUCH_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 ODB_SHAPE_TOUCH_LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 ODB_SHAPE_TRY_PAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 ODB_SHAPE_LIST2CHULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 ODB_SHAPE_LIST2CONT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 ODB_SYMBOL_CREATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 ODB_SYMBOL_GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 ODB_SYMBOL_VALIDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 ODB_SYMBOL_F_ADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 ODB_SYMBOL_GET_NAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 ODB_SYMBOL_CHANGE_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . 291 ODB_SYMBOL_GET_RECT_SIZES . . . . . . . . . . . . . . . . . . . . . . . . 292 ODB_SYMBOL_GET_W_H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2930205.0806 DFM Programming Environment 8 ODB_SYMBOL_GET_RESOURCE . . . . . . . . . . . . . . . . . . . . . . . . . 294 ODB_SYMBOL_GET_SMD_PARAMS . . . . . . . . . . . . . . . . . . . . . . 295 ODB_SYMBOL_GET_SMD_PARAMS_ROT . . . . . . . . . . . . . . . . . 296 ODB_SYMBOL_GET_THERMAL_PARAM . . . . . . . . . . . . . . . . . . 297 ODB_SYMBOL_GET_DONUT_PARAMS . . . . . . . . . . . . . . . . . . . 299 ODB_SYMBOL_FILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 ODB_SYMBOL_BUILD_RECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 ODB_SYMBOL_BUILD_SMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 ODB_SYMBOL_BUILD_SMD_ROT . . . . . . . . . . . . . . . . . . . . . . . . 303 ODB_SYMBOL_BUILD_THERMAL . . . . . . . . . . . . . . . . . . . . . . . . 304 ODB_SYMBOL_BUILD_DONUT . . . . . . . . . . . . . . . . . . . . . . . . . . 305 ODB_UTILS_BELL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 ODB_UTILS_CMP_W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 ODB_UTILS_GET_CFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 ODB_UTILS_GET_CONT_OP_ACCURACY . . . . . . . . . . . . . . . . . 309 ODB_UTILS_SET_CONT_OP_ACCURACY . . . . . . . . . . . . . . . . . 310 ODB_UTILS_GET_RESOURCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 ODB_UTILS_UNITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 ODB_UTILS_SORT_TCREATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 ODB_UTILS_SORT_TDESTROY . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 ODB_UTILS_SORT_TADD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 ODB_UTILS_SORT_TFIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Chapter 5 ODB_LIST - Basic ODB_LIST_CLEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 ODB_LIST_CREATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 ODB_LIST_CREATE_2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 ODB_LIST_DESTORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 ODB_LIST_COUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 ODB_LIST_REMOVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 ODB_LIST_ADD_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 ODB_LIST_GET_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 ODB_LIST_CHANGE_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 ODB_LIST_ADD_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 ODB_LIST_GET_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 ODB_LIST_CHANGE_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 ODB_LIST_ADD_NAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 ODB_LIST_GET_NAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 ODB_LIST_CHANGE_NAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 ODB_LIST_ADD_INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 ODB_LIST_GET_INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 ODB_LIST_CHANGE_INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 ODB_LIST_ADD_DOUBLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 ODB_LIST_GET_DOUBLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 ODB_LIST_CHANGE_DOUBLE . . . . . . . . . . . . . . . . . . . . . . . . . . . 3380205.0806 DFM Programming Environment 9 ODB_LIST_ADD_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 ODB_LIST_GET_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 ODB_LIST_CHANGE_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Chapter 6 ODB_LIST - Advanced ODB_LIST_COUNT_DELETED . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 ODB_LIST_FIRST_SERIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 ODB_LIST_LAST_SERIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 ODB_LIST_SWAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 ODB_LIST_COPY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 ODB_LIST_CONCATENATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 ODB_LIST_CONDENSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 ODB_LIST_REVERSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 ODB_LIST_MINUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 ODB_LIST_MAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 ODB_LIST_MAP_ARG1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 ODB_LIST_INTERSECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 ODB_LIST_SORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 ODB_LIST_TRANSFORM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 ODB_LIST_FIRST_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 ODB_LIST_LAST_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 ODB_LIST_MAX_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 ODB_LIST_MIN_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 ODB_LIST_MAX_SERIAL_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . 367 ODB_LIST_MIN_SERIAL_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . 368 ODB_LIST_MAX_ARG1_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . . 369 ODB_LIST_MIN_ARG1_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 ODB_LIST_MAX_SERIAL_ARG1_SHAPE . . . . . . . . . . . . . . . . . . 371 ODB_LIST_MIN_SERIAL_ARG1_SHAPE . . . . . . . . . . . . . . . . . . . 372 ODB_LIST_MINUS_SHAPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 ODB_LIST_FIRST_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 ODB_LIST_LAST_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 ODB_LIST_MAX_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 ODB_LIST_MIN_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 ODB_LIST_MAX_SERIAL_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 ODB_LIST_MIN_SERIAL_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 ODB_LIST_MAX_ARG1_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 ODB_LIST_MIN_ARG1_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 ODB_LIST_MAX_SERIAL_ARG1_F . . . . . . . . . . . . . . . . . . . . . . . . 383 ODB_LIST_MIN_SERIAL_ARG1_F . . . . . . . . . . . . . . . . . . . . . . . . 384 ODB_LIST_MINUS_F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 ODB_LIST_FIRST_NAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 ODB_LIST_LAST_NAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 ODB_LIST_MAX_NAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 ODB_LIST_MIN_NAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3900205.0806 DFM Programming Environment 10 ODB_LIST_MAX_SERIAL_NAME . . . . . . . . . . . . . . . . . . . . . . . . . 391 ODB_LIST_MIN_SERIAL_NAME . . . . . . . . . . . . . . . . . . . . . . . . . . 392 ODB_LIST_MAX_ARG1_NAME . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 ODB_LIST_MIN_ARG1_NAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 ODB_LIST_MAX_SERIAL_ARG1_NAME . . . . . . . . . . . . . . . . . . . 395 ODB_LIST_MIN_SERIAL_ARG1_NAME . . . . . . . . . . . . . . . . . . . . 396 ODB_LIST_MINUS_NAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 ODB_LIST_FIRST_INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 ODB_LIST_LAST_INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 ODB_LIST_MAX_INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 ODB_LIST_MIN_INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 ODB_LIST_MAX_SERIAL_INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 ODB_LIST_MIN_SERIAL_INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 ODB_LIST_MAX_ARG1_ INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 ODB_LIST_MIN_ARG1_ INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 ODB_LIST_MAX_SERIAL_ARG1_INT . . . . . . . . . . . . . . . . . . . . . 407 ODB_LIST_MIN_SERIAL_ARG1_INT . . . . . . . . . . . . . . . . . . . . . . 408 ODB_LIST_MINUS_INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 ODB_LIST_FIRST_DOUBLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 ODB_LIST_LAST_DOUBLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 ODB_LIST_MAX_DOUBLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 ODB_LIST_MIN_DOUBLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 ODB_LIST_MAX_SERIAL_DOUBLE . . . . . . . . . . . . . . . . . . . . . . . 415 ODB_LIST_MIN_SERIAL_DOUBLE . . . . . . . . . . . . . . . . . . . . . . . . 416 ODB_LIST_MAX_ARG1_DOUBLE . . . . . . . . . . . . . . . . . . . . . . . . . 417 ODB_LIST_MIN_ARG1_DOUBLE . . . . . . . . . . . . . . . . . . . . . . . . . 418 ODB_LIST_MAX_SERIAL_ARG1_DOUBLE . . . . . . . . . . . . . . . . . 419 ODB_LIST_MIN_SERIAL_ARG1_DOUBLE . . . . . . . . . . . . . . . . . 420 ODB_LIST_MINUS_DOUBLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 ODB_LIST_FIRST_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 ODB_LIST_LAST_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 ODB_LIST_MAX_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 ODB_LIST_MIN_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 ODB_LIST_MAX_SERIAL_LAYER . . . . . . . . . . . . . . . . . . . . . . . . 427 ODB_LIST_MIN_SERIAL_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . 428 ODB_LIST_MAX_ARG1_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . 429 ODB_LIST_MIN_ARG1_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 ODB_LIST_MAX_SERIAL_ARG1_LAYER . . . . . . . . . . . . . . . . . . 431 ODB_LIST_MIN_SERIAL_ARG1_LAYER . . . . . . . . . . . . . . . . . . . 432 ODB_LIST_MINUS_LAYER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 Chapter 7 Macros MAX(X,Y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 MIN(X,Y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 SGN(X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4350205.0806 DFM Programming Environment 11 ABS(X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 INT(X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 DEG(X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 RAD(X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 LENGTH(X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 I2P(X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 P2I(X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 MIL2P(X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 P2MIL(X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 MM2P(X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 P2MM(X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 MIC2P(X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 P2MIC(X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 SWAP(A,B,TYPE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 ODB_RETURN_OK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 ODB_RETURN_STOPPED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 ODB_RETURN_ERR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 ODB_ASSERT(X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 STATUS_CHECK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 ODB_M_IS_DESC_NULL(OBJ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 ODB_MALLOC(SIZE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 ODB_CALLOC(NELEM,SIZE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 ODB_FREE(P) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 ODB_REALLOC(P,SIZE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 ODB_COND_FREE(P) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 ODB_M_F_COPY(DEST_F, SOURCE_F) . . . . . . . . . . . . . . . . . . . . . . . 440 ODB_M_F_TO_1_SHAPE(F, SHAPE, SUCCESS) . . . . . . . . . . . . . . . . . 441 ODB_M_F_NF_TO_1_SHAPE(NF, LAYER, SHAPE, SUCCESS) . . . . . . 441 ODB_M_IS_SHAPE_POINT(SHAPE) . . . . . . . . . . . . . . . . . . . . . . . . . 441 ODB_M_IS_SHAPE_SEG(SHAPE) . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 ODB_M_IS_SHAPE_CURVE(SHAPE) . . . . . . . . . . . . . . . . . . . . . . . . 442 ODB_M_IS_SHAPE_CIRCLE(SHAPE) . . . . . . . . . . . . . . . . . . . . . . . 442 ODB_M_IS_SHAPE_SQUARE(SHAPE) . . . . . . . . . . . . . . . . . . . . . . 442 ODB_M_IS_SHAPE_RECT(SHAPE) . . . . . . . . . . . . . . . . . . . . . . . . . 442 ODB_M_IS_SHAPE_LINE(SHAPE) . . . . . . . . . . . . . . . . . . . . . . . . . . 442 ODB_M_IS_SHAPE_ARC(SHAPE) . . . . . . . . . . . . . . . . . . . . . . . . . . 443 ODB_M_IS_SHAPE_CONT(SHAPE) . . . . . . . . . . . . . . . . . . . . . . . . . 443 ODB_M_SHAPE_COPY(DEST, SOURCE) . . . . . . . . . . . . . . . . . . . . . . 443 ODB_M_SHAPE_FREE(S1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 ODB_M_OBJ_EQ(O1, O2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 ODB_M_POINT_EQ(S1, S2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 ODB_M_POINT_COPY(P_DEST, P_SOURCE) . . . . . . . . . . . . . . . . . . 444 ODB_M_POINT_CREATE(X, Y, P_DEST) . . . . . . . . . . . . . . . . . . . . . 4440205.0806 DFM Programming Environment 12 Chapter 8 Literals Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 Literal List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 Alphabetic List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 Appendix A Common Examples The External Resource File (ERF) . . . . . . . . . . . . . . . . . . . . . 467 Sample Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 Makefile Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 Appendix B Frequently Asked Questions Appendix C Error Messages Appendix D System Administrator Notes Debugging Shared Library DLLs . . . . . . . . . . . . . . . . . . . . . . 487 SPARCWORKS DEBUGGER: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 DEBUGGING UNDER SOLARIS 2.4 AND GDB 4.16 . . . . . . . . . . . . . . . . . 487 BUILDING DEBUGGABLE SHARED LIBRARIES UNDER SOLARIS WITH “GCC” 48

2018-08-12

深入实践Boost Boost程序库开发的94个秘笈

Boost库是由专业人员开发,在多个平台和处理器架构上测试,并适用于广泛任务的可靠解决方案。本书将带你踏上简化应用程序开发过程的旅程,引导你更快地编写完美的应用程序。   《深入实践Boost:Boost程序库开发的94个秘笈》详细阐述多线程、网络编程、元编程和泛型编程,并探讨如何只编写一次程序,就能在Linux、Windows、Mac OS和Android操作系统中使用。书中汇集Boost库开发者创建的许多清晰、实用的秘笈,循序渐进地引导读者了解并充分利用Boost和C++的真正优势,以及一些现成可用的解决方案,快速开发高品质、可移植的应用程序。   《深入实践Boost:Boost程序库开发的94个秘笈》主要内容:   涵盖日常使用的新数据类型、图形处理的基础知识,以及一些编程技巧。   讨论如何使用智能指针管理资源,根除内存泄漏问题,以及如何使用Boost库执行与多线程和常见的字符串相关的任务。   讲解如何将处理、计算和相互作用拆分为仿函数(任务)并且独立地完成这些任务。   探讨用于检测编译器、平台和Boost功能的各种辅助宏。   在C++03中使用精选的C++11特性。 目录 译者序 前言 第1章 开始编写应用程序 1 秘笈1 获取配置选项 1 秘笈2 在容器/变量中存储任意值 5 秘笈3 在变量/容器中存储多个选择类型 7 秘笈4 使用更安全的方式处理存储多个选择类型的容器 8 秘笈5 返回一个值或在没有值的地方返回一个标志 12 秘笈6 从函数返回数组 14 秘笈7 将多个值结合成一个值 16 秘笈8 重新排列函数的参数 18 秘笈9 绑定一个值作为函数参数 21 秘笈10 使用C++11移动仿真 23 秘笈11 制作一个不可复制的类 26 秘笈12 制作一个不可复制但可移动的类 28 第2章 数据转换 32 秘笈13 将字符串转换为数值 32 秘笈14 将数值转换为字符串 34 秘笈15 将数值转换为数值 36 秘笈16 用户定义类型与字符串的相互转换 39 秘笈17 强制转换多态对象 41 秘笈18 解析简单的输入 43 秘笈19 解析输入 46 第3章 资源管理 51 秘笈20 管理作用域内的类指针 51 秘笈21 跨方法使用的类指针的引用计数 53 秘笈22 管理作用域内的数组指针 55 秘笈23 跨方法使用的数组指针的引用计数 56 秘笈24 在变量中存储任意函数化对象 59 秘笈25 在变量中传递函数指针 61 秘笈26 在变量中传递C++11中的lambda函数 62 秘笈27 指针的容器 63 秘笈28 在退出作用域时做一些事 66 秘笈29 用派生类的成员初始化基类 67 第4章 编译时技巧 71 秘笈30 在编译时检查大小 71 秘笈31 在整数类型中启用模板函数 75 秘笈32 在实数类型中禁用模板函数 77 秘笈33 从数值创建一个类型 80 秘笈34 实现类型特征 82 秘笈35 为模板参数选择最佳操作符 83 秘笈36 在C++03中获取一个表达式的类型 86 第5章 多线程 89 秘笈37 创建一个执行线程 89 秘笈38 对公共资源的同步访问 92 秘笈39 利用原子性快速访问公共资源 96 秘笈40 创建work_queue类 98 秘笈41 多读者单写者锁 102 秘笈42 创建对每个线程都是独占的变量 104 秘笈43 中断线程 106 秘笈44 操纵一组线程 108 第6章 处理任务 109 秘笈45 注册任务用于处理任意数据类型 109 秘笈46 制作定时器并把定时器事件作为任务处理 113 秘笈47 将网络通信作为一个任务 116 秘笈48 接受传入的连接 121 秘笈49 并行执行不同的任务 125 秘笈50 输送任务处理 127 秘笈51 制作一个非阻塞障碍 131 秘笈52 存储一个异常并用它制作任务 135 秘笈53 作为任务获取和处理系统信号 138 第7章 处理字符串 142 秘笈54 改变大小写及不区分大小写的比较 142 秘笈55 使用正则表达式匹配字符串 144 秘笈56 使用正则表达式查找和替换字符串 147 秘笈57 使用安全的类似printf的函数格式化字符串 150 秘笈58 替换和删除字符串 152 秘笈59 用两个迭代器表示字符串 153 秘笈60 使用string类型的引用 156 第8章 元编程 160 秘笈61 使用“类型向量”类型 160 秘笈62 操作类型向量 164 秘笈63 在编译时获取一个函数的结果类型 168 秘笈64 制作高阶元函数 170 秘笈65 懒惰地对元函数求值 172 秘笈66 将所有元组元素转换为字符串 175 秘笈67 拆分元组 178 第9章 容器 182 秘笈68 以超快速的方式比较字符串 182 秘笈69 使用无序集合和映射 186 秘笈70 制作值也是一个键的映射 189 秘笈71 使用多索引容器 192 秘笈72 从单链表和内存池获得好处 197 秘笈73 使用平面关联式容器 200 第10章 收集平台和编译器 信息 204 秘笈74 检测int128支持 204 秘笈75 检测RTTI支持 206 秘笈76 使用C++11外部模板加快编译速度 208 秘笈77 使用更简单的方法编写元函数 209 秘笈78 在C++11中减少代码量和提高用户定义类型的性能 211 秘笈79 导入和导出函数和类的可移植方式 213 秘笈80 检测Boost版本和最新的功能 215 第11章 与系统打交道 218 秘笈81 列出目录中的文件 218 秘笈82 创建及删除文件和目录 220 秘笈83 将数据从一个进程快速传递到另一个进程 222 秘笈84 同步进程间通信 225 秘笈85 在共享内存中使用指针 228 秘笈86 读取文件的最快方式 229 秘笈87 协程——保存状态并推迟执行 232 第12章 揭开冰山一角 235 秘笈88 使用图形 235 秘笈89 可视化图形 239 秘笈90 使用真随机数发生器 241 秘笈91 使用可移植的数学函数 243 秘笈92 编写测试用例 244 秘笈93 将多个测试用例结合到一个测试模块 246 秘笈94 处理图像 248

2017-11-30

[精通正则表达式(第3版)]中英文双版.(美)Jeffrey.E.F.Friedl

[精通正则表达式

2017-07-11

信息系统项目管理师真题及答案

2017-04-01

boost 中文文档api

boost库中文帮助文档. 1. Boost.Accumulators Preface 序言 User's Guide 用户指南 Acknowledgements 鸣谢 Reference 参考手册 2. Boost.Any Introduction 简介 Examples 例子 Reference 参考手册 Acknowledgements 鸣谢 3. Boost.Array Introduction 简介 Reference 参考手册 Design Rationale 设计原理 For more information... 更多信息... Acknowledgements 鸣谢 4. Boost.Concept_Check Concept reference 概念参考 5. Boost.Date_Time Conceptual 概念说明 General Usage Examples 常见用例 Gregorian 格里历 Posix Time Posix 时间 Local Time 本地时间 Date Time Input/Output 日期时间的输入/输出 Serialization 序列化 Details 细节 Examples 例子 Library Reference 库参考手册 6. Boost.Foreach Introduction 简介 Extensibility 可扩展性 Portability 可移植性 Pitfalls 缺陷 History and Acknowledgements 历史与鸣谢 7. Boost.Function Introduction 简介 History & Compatibility Notes 历史与兼容性说明 Tutorial 教程 Reference 参考手册 Frequently Asked Questions 常见问题 Miscellaneous Notes 杂项说明 Testsuite 测试套件 8. Boost.Functional/Hash Introduction 简介 Tutorial 教程 Extending boost::hash for a custom data type 为定制的数据类型扩展 boost::hash Combining hash values 组合散列值 Portability 可移植性 Disabling The Extensions 禁止扩展 Change Log 变更历史 Reference 参考手册 Links 链接 Acknowledgements 鸣谢 9. Boost.Interprocess Introduction 简介 Quick Guide for the Impatient 快速入门 Some basic explanations 基本说明 Sharing memory between processes 进程间的共享内存 Mapping Address Independent Pointer: offset_ptr 映射地址无关的指针:offset_ptr Synchronization mechanisms 同步机制 Managed Memory Segments 管理内存段 Allocators, containers and memory allocation algorithms 分配器、容器和内存分配算法 Direct iostream formatting: vectorstream and bufferstream 直接 iostream 格式化:vectorstream 和 bufferstream Ownership smart pointers 智能指针的所有权 Architecture and internals 体系结构与内部细节 Customizing Boost.Interprocess 定制 Boost.Interprocess Acknowledgements, notes and links 鸣谢、说明与链接 Boost.Interprocess Reference 参考手册 10. Boost.Intrusive Introduction 简介 Intrusive and non-intrusive containers 介入式与非介入式容器 How to use Boost.Intrusive 如何使用 Boost.Intrusive When to use? 何时使用? Concept summary 概念摘要 Presenting Boost.Intrusive containers 介绍 Boost.Intrusive 容器 Safe hooks 安全的挂钩 Auto-unlink hooks 自动卸载的挂钩 Intrusive singly linked list: slist 介入式的单链表:slist Intrusive doubly linked list: list 介式式的双链表:list Intrusive associative containers: set, multiset, rbtree 介入式的关联式容器:set, multiset, rbtree Semi-Intrusive unordered associative containers: unordered_set, unordered_multiset 半介入式的关联式容器:unordered_set, unordered_multiset Intrusive splay tree based associative containers: splay_set, splay_multiset and , splay_tree 介入式 splay 树:splay_set, splay_multiset and , splay_tree Intrusive avl tree based associative containers: avl_set, avl_multiset and avltree 介入式 avl 树:avl_set, avl_multiset and avltree Intrusive scapegoat tree based associative containers: sg_set, sg_multiset and sgtree 介入式 scapegoat 树:sg_set, sg_multiset and sgtree Advanced lookup and insertion functions for associative containers 关联式容器的高级查找和插入函数 Erasing and disposing values from Boost.Intrusive containers 从 Boost.Intrusive 容器中删除和处理值 Cloning Boost.Intrusive containers 克隆 Boost.Intrusive 容器 Using smart pointers with Boost.Intrusive containers 将智能指针用于 Boost.Intrusive 容器 Obtaining iterators from values 从值获取迭代器 Any Hooks: A single hook for any Intrusive container 任意挂钩:用于任意介入式容器的单个挂钩 Concepts explained 概念说明 Node algorithms with custom NodeTraits 带定制NodeTraits 的节点算法 Containers with custom ValueTraits 带定制 ValueTraits 的容器 Thread safety guarantees 线程安全性保证 Obtaining the same types and reducing symbol length 获得相同的类型和缩短符号长度 Design Notes 设计说明 Performance 性能 Release Notes 发布说明 Tested compilers 已测试的编译器 References 参考手册 Acknowledgements 鸣谢 Reference 参考 License notices 许可证通告 11. Boost.Lambda In a nutshell 简单说明 Getting Started 入门 Introduction 简介 Using the library 使用本库 Lambda expressions in details Lambda表达式的详细说明 Extending return type deduction system 扩展返回类型推导系统 Practical considerations 实际考虑 Relation to other Boost libraries 与其它 Boost 库的关系 Contributors 贡献者 Rationale for some of the design decisions 某些设计决议的原理 Bibliography 参考书目 12. Boost.MPI Introduction 简介 Getting started 入门 Tutorial 教程 Reference 参考手册 Python Bindings 与 Python 的绑定 Design Philosophy 设计原理 Performance Evaluation 性能评估 Revision History 修订历史 Acknowledgments 鸣谢 13. Boost.Program_options Introduction 简介 Tutorial 教程 Library Overview 库的概览 How To 如何使用 Design Discussion 设计讨论 Acknowledgements 鸣谢 Reference 参考手册 14. Boost.PropertyTree What is Property Tree? 属性树是什么? Five Minute Tutorial 五分钟入门 Property Tree as a Container 作为容器的属性树 Property Tree Synopsis 属性树概要 How to Populate a Property Tree 如何填充属性树 How to Access Data in a Property Tree 如何访问属性树中的数据 Appendices 附录 Reference 参考手册 15. Boost.Proto Preface 序言 Users' Guide 用户指南 Reference 参考手册 Appendices 附录 16. Boost.Ref Introduction 简介 Reference 参考手册 Acknowledgements 鸣谢 17. Boost.Signals Introduction 简介 Tutorial 教程 Reference 参考手册 Frequently Asked Questions 常见问题 Design Overview 设计概览 Design Rationale 设计原理 Testsuite 测试套件 18. Boost.Signals2 Introduction 简介 Tutorial 教程 Example programs 示例程序 Reference 参考手册 Thread-Safety 线程安全性 Frequently Asked Questions 常见问题 Design Rationale 设计原理 Signals2 API Changes API的变化 Testsuite 测试套件 19. Boost.StaticAssert Overview and Tutorial 概览与教程 How it works 如何工作 Test Programs 测试程序 20. Boost String Algorithms Library Introduction 简介 Release Notes 发布说明 Usage 用法 Quick Reference 快速参考 Design Topics 设计要点 Concepts 概念 Reference 参考手册 Rationale原理 Environment 环境 Credits 鸣谢 21. Thread Overview 概览 Changes since boost 1.35 从 boost 1.35 后的改变 Thread Management 线程管理 Synchronization 同步 Thread Local Storage 线程局部存储 Date and Time Requirements 日期与时间要求 Acknowledgments 鸣谢 22. Boost.TR1 Introduction 简介 Usage 用法 Configuration 配置 TR1 By Subject 分类 TR1 By Header 头文件 Implementation 实现 Testing 测试 23. Boost.Tribool Introduction 简介 Tutorial 教程 Reference 参考手册 Testsuite 测试套件 24. Boost.Typeof Motivation 动机 Tutorial 教程 Reference 参考手册 Other considerations and tips 其它考虑和提示 Contributed By: 贡献者 Acknowledgements 鸣谢 25. Boost.Units 1.0.0 Introduction 简介 Quick Start 快速入门 Dimensional Analysis 量纲分析 Units 单位 Quantities 数量 Examples 例子 Utilities 工具 Reference 参考手册 Installation 安装 FAQ 常见问题 Acknowledgements 鸣谢 Help Wanted 所需帮助 Release Notes 发布说明 TODO 待办事项 26. Boost.Unordered Introduction 简介 The Data Structure 数据结构 Equality Predicates and Hash Functions 等同性谓词与散列函数 Comparison with Associative Containers 与关联式容器的比较 Implementation Rationale 实现原理 Change Log 变更历史 Reference 参考手册 Bibliography 参考书目 27. Boost.Variant Introduction 简介 Tutorial 教程 Reference 参考手册 Design Overview 设计概览 Miscellaneous Notes 杂项说明 References 参考 28. Boost.Xpressive Preface 序言 User's Guide 用户指南 Reference 参考手册 Acknowledgments 鸣谢 Appendices 附录

2015-03-18

nedmalloc-v1.10-beta3

nedmalloc是一个跨平台的高性能多线程内存分配库 很多库都使用它 例如:OGRE Windows XP Linux 2 4 series FreeBSD 6 series Mac OS X 10 4 or earlier 方法: 首先 安装python2 7; 然后安装scons http: www scons org 将Python27的安装目录加到path当中; 由于scons依赖Python 所以安装后 需要把xx Python27 Scripts也加到path当中 这样控制台当中才能识别scons命令; 运行nedmalloc加压目录下的 MakeMSVCProjs bat脚本 会自动构建vc工程出来; 注意: 构建工程前 需要添加系统环境变量:LIB INCLUDE; 我的是: LIB C: Program Files x86 Microsoft Visual Studio 10 0 VC lib;C: Program Files x86 Microsoft SDKs Windows v7 0A Lib; INLUCDE C: Program Files x86 Microsoft SDKs Windows v7 0A Include;C: Program Files x86 Microsoft Visual Studio 10 0 VC include">nedmalloc是一个跨平台的高性能多线程内存分配库 很多库都使用它 例如:OGRE Windows XP Linux 2 4 series FreeBSD 6 series Mac OS X 10 4 or earlier 方法: 首先 安装python2 7; 然后安装scons http: www scons org 将Python27的安装目录加到path当中 [更多]

2015-03-10

wxWidgets中文手册(pdf)

wxWidgets是一个开源的跨平台的C++构架库(framework)(主页http://www.widgets.org),它可以提供GUI(图形用户界面)和其它工具。目前的2.x版本支持所有版本的Windows、带GTK+或Motif的Unix和MacOS。一个支持OS/2的版本正在开发中。    wxWidgets在最开始是由爱丁堡(Edinburgh)大学的人工智能应用学院开发的,主要是内部使用,而在1992年第一次公布。 2.x版本做了很大程度的改良,并且由Julian Smart, Robert Roebling, Vadim Zeitlin, Vaclav Slavik和更多其他的人所编写和维护。   wxWidgets的主体是由C++构建的,但你并不是必需通过C++才能使用wxWidgets.wxWidgets拥有许多其它语言的绑定(binding),使你在用其它语言编写程序的时候也可以使用wxWidgets.   * wxPython a Python binding,   * wxPerl a Perl binding,   * wxBasic a Basic binding,   * wxLua a Lua binding,   * wxJavaScript a JavaScript binding,   * wxJava a Java binding by Steve Perkins,   * wx4j a Java binding by Dave Dribin,   * wxRuby a Ruby binding,   * wxEiffel an Eiffel binding,   * wxHaskell a Haskell binding,   * wx.NET a C# binding for .NET/Mono,   * wxEuphoria a Euphoria binding,   * wxAda the start of an Ada binding for wxWidgets.   wxwidgets是一个 c++编写的用来提供gui开发的框架。它包含一个可以支持现今几乎所有操作系统(Version 2 currently supports all desktop versions of MS Windows, Unix with GTK+, Unix with Motif, and MacOS. An OS/2 port is in progress.)的GUI库和其他一些很有用的工具,提供了类似MFC的功能。而且,特别要说一下,这个c++lib还的新版本还提供了对掌上电脑的支持。当然,说到这里很多人会想到java队多系统的支持,其实这是不一样的,java的跨平台是建立在“中间代码”的基础上的,就是说需要在目标平台上安装java解释器;但是wxwidgets是c++库,经过编译后,他提供的是native级的机器码,在gui编程方面,这可是意味着很大的不同!   那么wxwidgets有什么特别之处呢?比起其他的跨平台gui库,有什么好处呢?   1、(不得不放在第一位的)就是他无论对于个人还是对于商业应用都[font color=#ff0000]免费[/font]!   ——它的主体框架的授权协议支持商业免费应用,其外围功能库中很多也是lgpl授权的,这无疑对于我等“0资本”的人来说是天大的好事。不同于gt之类的跨平台gui库。    2、 他是跨平台的gui库,支持的操作系统很全面,甚至支持pda(说不定过一段时间他都能够支持symbian了)。   —— 此跨平台非彼跨平台,它虽然不像java那样是“全面”的,而仅仅是gui库,但是gui是计算机编程中,最为麻烦、耗费时间、容易出现bug的部分,特别当你想要自己的软件运行在多个操作系统上的时候,开发和维护的难度让人难以想象。其实c++也是支持“跨平台”的,因为c++可以在任何平台上编译运行,之所以没几个人说他是跨平台的,主要问题就出在变量长度和各操作系统的gui(这里的“界面”我指得是很广义的)上,如果解决了gui的问题,基本上就解决了c++的“跨平台”问题——至少不用为每种平台都维护一份源代码了。   3、 wxwidgets提供的gui是大量使用宏的,这就意味着它是在尽可能的使用目标系统native的gui样式。   ——你可以访问wxwidgets网站,看看那些开发的软件的截图,全是系统native级别的。如果你开发了一个xp系统的软件的话,你的软件会仍然以“xp专有的‘小贱人’级别”的面貌展现在你面前。   4、 它支持的编译器也很多,而且borland也曾声明将在c++builderx2里边提供对wxidgets的支持——预览版都出来了。   ——其实我就是看到borland在c++不景气的时候,这么看重这个东东,甚至用它来做“王牌”,才开始注意到他的。当然,反过来,也正是borland的支持,才使他活力大发的。   5、 自然,有牛X支持,而且是开源的,wxwidgets一直都在快速稳健的开发中,其周边工具也越来越多。   —— 随着m$开始全力支持他的.net,c++成了“没落”的语言,但是不可否认,c++还是有很多用武之地的,所以根本不可能真正没落。没有了超牛X的支持,地球人自然开始寻求新的发展方式,wxwidgets这种开源免费,且允许商业应用的好东东,自然会被人们所重视。   当然,wxwidgets也有一些不足,比如官方文档不全(至少我觉得个官方的help远远不够我的菜鸟需求,大部分都是网络上零散的教程),特别是没有源代码的开发速度快;没有强大全面的rad工具;还没有形成很浓的产业气候,等等。但是,个人觉得它的好处绝对大于它的缺点,而且很有发展前途。

2015-01-22

KeUserModeCallback

KeUserModeCallback

2014-09-08

zlib-1.2.8 静态库(VS2008用)

编译默认的库老是显示 无法解析的 _uncompress 之类 把代码重新新建工程编译了一下就解决了 编译环境: VS2008 ZLIB版本: 1.2.8 把头文件放在include目录 lib放在lib目录 使用: #include <zlib.h> #pragma comment(lib,"zlib.lib")

2014-08-19

vc++ 6.0 补丁

vc++ 6.0 补丁,有它就不会编译时假死。

2014-07-13

openssl 收发邮件

支持 smtp,pop3,imap

2014-07-10

超好用的十六进制批量搜索软件

最近搞游戏汉化,需要进行批量的16进制字节搜索,在Google上爬了很久,都没有找到合适的软件,都是功能太简单或者效果不好。好不容易找到一个可以用的,号称极速搜索的软件,但是似乎软件还有些问题,程序容易崩溃,特别是当搜索的内容过多的时候,于是就打算自己做一个,随便也试试C#的效率。 结果C#效率不是传说中的那么低嘛,呵呵,而且这个搜索器还有优化的空间,在比较字节的算法上应该还可以优化,只是暂时还没有想到好的算法。 源代码会在GitHub上共享,用户名就是Title上那个。

2014-04-15

Android应用程序的补丁方法.pdf

能完成这篇文章,打心底里十分高兴,一直在研究Android程序的逆向与解密方法,每次都使用传统的反编译与回编APK,这样需要花费大量时间去测试,而且很多时候反编译出的程序无法回编回去,这着实让我郁闷了好些日子。当时就在想,Android程序如果能像Windows程序一样可以打补丁的话该多好啊,这样测试程序就不用反复的反编译程序了。为了完成设想,我开始对DEX文件进行研究,在经过一个多月的慢推慢磨后终于将APK程序的两种补丁方法研究出来了,特此拿来与大家分享。 Dex 文件结构 研究Windows的程序,首先要掌握PE文件格式,到了Linux/Unix环境,又必须掌握ELF文件格式。因为它们都是分析自身所在系统程序的基础。不了解它,就像中国人不了解汉字,美国人不了解英语,太阳不了解月亮,丈夫不了解妻子......也正因为如此,在分析Android软件之前,了解Dalvik DEX文件格式是很有必要的。在以往的文章中,我跟大家曾多次提到过DEX文件,今天,我就带领大家一起来揭开它的神秘面纱。 随着Android系统版本的增加,一些结构也有了微妙的变化,本文所描述的DEX文件格式源于Android 4.0源代码中的“dalvik\libdex\DexFile.h”文件所提供的信息。另外,由于本人知识也极有限的,所以,在理解与表述方面出现错误也再所难免,如果大家发现文中有任何不对的地方,也请批评指出。 DEX文件作为APK程序的“可执行体”,里面存放着APK所有的包、类以及方法信息。

2014-04-04

Notepad++ 转16进制插件

notepad++ 中转十六进制的插件 只要复制到Notepad++ 下的plugins目录就能下载 之后再Notepad++中可以自定义一下快捷键 运行--&gt; 管理快捷键

2014-03-25

300多种加密解密算法(C++)源代码

现在是个程序都得加个密,但不会怎么办~现在就有C++海量的加密源码给你学习。 300多种C++加密解密算法的源码,想看看加密方式的就下吧。

2014-03-08

高效程序的奥秘 书上代码

<<高效程序的奥秘>> Herry S. Warren, Jr. 著 冯速 译 原书示例程序 函数: nlz, Gray, pop, transpose8, Hilbert, divmnu ......

2009-11-27

Strassen Algorithm

Solution: http://blog.csdn.net/tiandyoin/archive/2009/09/18/4564811.aspx

2009-09-18

OpenMP 入门程序 --- 手把手教你学会并行程序

这是一个OpenMP入门的程序包,包括各种指令和函数的用法,基本模板,从 sourceForge 上一个牛B的项目里抽取出来的,很适合初学者入门参考,可参考 周伟明写的 <>

2009-08-27

MF算法 --- 传说后缀数组中最快的构建法

Giovanni Manzini and Paolo Ferragina 吸取了前人多种经验,结合n个算法,组建了最快的sa构建法.2005年新出的算法.是GNU开源项目,竞赛中 1000万的数据是 1 s,文件相当多,不能写在博客里,linux源码可以看: http://www.mfn.unipmn.it/~manzini/lightweight 如果不会用,就下载本C++ 多串匹配程序包吧

2009-08-26

后缀数组PPT详细解答

内容: 许智磊后缀数组的pdf 本人解说的ppt 制作的mdl 有错误请指正...

2009-07-25

100位的双精度算法---扩充int64

typedef struct int100{ //100位长整数,以补码存储 __int64 low; //低0 ... 2^51-1位 51 .. 63 位置空,作溢出时保留数据用 __int64 top; //高0 ... 2^61-1 //__int64 sign; //符号位在高位的 第0+61位 62 位作借位用, 63位置空 //__int64 size; //范围 -2^112 ...2^112-1 //int100(){low=0;top=0;sign=0;size=1;} //默认为0 //int100(__int64 _low,__int64 _top,__int64 _sign,__int64 _size){ // low=_low;top=_top;sign=_sign;size=_size; //} int100(){low=0;top=0;} int100(__int64 _low,__int64 _top){ low=_low;top=_top; } }int100; int100 to_source(int100 a){//补码转原码 int100 to_patch(int100 b)//原码转补码 int100 add(int100 a,int100 b) int100 sub(int100 a,int100 b) 要下就下,别在这里瞎评论! Coding by Tiandy

2009-07-25

CSOpenGL User Manual

This is OpenGL API for C#, User manual as English

2009-05-22

Mpich 与 三服务器 自动配置脚本

nis,nfs,sshd配合mpich的配置脚本,实现全过程自动化,省力省气. 依据我的文章 mpich完整配置 所写. 通过主脚本master.set.sh和client.set.sh调用子脚本配置. 以操作每个文件为单位,分写每个.sh. 目前针对 root 用户 why.txt 会回答你的各种问题 有一两个配置文件是隐藏的. 如 .mpd.hosts.set.sh 操作: 打开一个终端,cd 到脚本目录,分别运行两个主文件. 实验平台: redhat 9.0 己经 安装 nis,nfs,ssh 服务器或客户端. 已经 配置好DHCP 服务器,因为脚本是根据dhcpd 自动获取 IP 和 主机名的. vmware 6.5 宿主机 win xp sp2 番茄花园 date:2009:05:01

2009-05-17

擦除cpp文件中的 // 和 /* */ 的注释的小程序

//本程序针对 vc++ 6.0 编译器语法,使用者要保证测试 \用例能在 vc++ 6.0 下编译通过 \ 用此程序可以自动帮你去除cpp文件中繁多的注释. 附带几十个不同的测试用例,还有文档说明

2009-03-24

大整数乘法---快速傅立叶变换(FFT)

离散傅里叶变换(DFT)的快速算法(FFT),它在大整数乘法上的应用,本文不用复数根,从整数MOD P的角度建立新算法。

2008-11-17

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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