09 2021 档案
一个非常简单的函数为什么会崩溃
摘要:何志丹 软件崩溃, 利用dump和 map+cod两种方式都定位到同一个简单的函数 bool CXX::IsXX() { return m_bXX; } m_bXX是一个bool变量。 最后分析,其原因是: this指针非法。 阅读全文
posted @ 2021-09-28 10:24 闻缺陷则喜何志丹 阅读(4) 评论(0) 推荐(0) 编辑
发现UncaughtExceptionHandler的派生类获取异常到文件的功能失效了
摘要:发现UncaughtExceptionHandler的派生类获取异常到文件的功能失效了, 最后发现原因是:只对线程有效,而不是之前理解的进程。 阅读全文
posted @ 2021-09-28 09:11 闻缺陷则喜何志丹 阅读(9) 评论(0) 推荐(0) 编辑
复制文件夹需要考虑的问题
摘要:完成一个函数复制文件夹,将源文件夹(strSrcDir)的文件复制到目标文件夹(strDestDir)。为了简化问题,限定如下:一,如果参数错误,可以崩溃,但不能损坏源文件。简单实现:依次复制各文件,如果目标文件存在,则先删除。这个实现有个严重的缺陷但触发几率低的缺陷。当源文件夹和目标文件夹相同时, 阅读全文
posted @ 2021-09-27 18:07 闻缺陷则喜何志丹 阅读(328) 评论(0) 推荐(0) 编辑
VC中如何把一串文字旋转90度显示
摘要:何志丹 一,新建一个单文档工程ChangeFont。二,修改ChangeFontView::OnDraw函数,代码如下:void CChangeFontView::OnDraw(CDC* pDC){ CChangeFontDoc* pDoc = GetDocument(); ASSERT_VALID 阅读全文
posted @ 2021-09-27 11:22 闻缺陷则喜何志丹 阅读(22) 评论(0) 推荐(0) 编辑
性能和可测试性的选择
摘要:服务端存放的是所有用户的信息,数据同步的功能是获取本用户的信息到本地数据库。 服务端将各信息以json的格式发到客户端,客户端比较数据库的每条记录和json内容是否完全相同,如果完全相同则不更新,否则更新。 这样做,提高了新能,但大幅降低了可测试性。63个表,估计平均每个表7条记录,必须测试400次 阅读全文
posted @ 2021-09-25 10:20 闻缺陷则喜何志丹 阅读(3) 评论(0) 推荐(0) 编辑
[闻缺陷则喜]关于boost的想法
摘要:公司有个大约2万行的项目,用到了boost,我想取消掉不用boost。理由:一,可理解性差,除了高手很难弄懂。二,类太多,光头文件就1万多。大点的团队四五个高手,每人用一个boost类。高手流失后,很难补充,因为候选人不知道需要熟悉那五个类。我同学,一入职就接手一个boost用得多的项目,不到3个月 阅读全文
posted @ 2021-09-21 16:37 闻缺陷则喜何志丹 阅读(60) 评论(0) 推荐(0) 编辑
公共库开发组
摘要:其它开发组是基础库开发组的用户,上级是基础库开发组的客户。基础库开发组和其它开发组不是协作关系,因为其它开发组的成果不影响基础库开发组的质量。 推动基础类库,而不是拉动基础类库。拉动基础类库,至少会有如下几个问题: 一,没人能100%正确,我自然也是。 二,就算我是正确的,我和使用者的思维不一定是同 阅读全文
posted @ 2021-09-20 13:10 闻缺陷则喜何志丹 阅读(259) 评论(0) 推荐(1) 编辑
读写AUTOCAD的系统变量
摘要:软件架构师何志丹 以系统变量PICKAUTO为例: CAD命令行命令: set PICKAUTO 1 objectarx代码: //读取将AUTOCAD的系统变量“pickauto” struct resbuf rb; ads_getvar(_T("pickauto"),&rb); acutPrin 阅读全文
posted @ 2021-09-15 19:16 闻缺陷则喜何志丹 阅读(34) 评论(0) 推荐(0) 编辑
SQL中char、varchar、nvarchar的区别
摘要:char char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值。当你输入的字符大于指定的数时,它会截取超出的字符。 nvarchar(n) 包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字 阅读全文
posted @ 2021-09-12 10:52 闻缺陷则喜何志丹 阅读(7) 评论(0) 推荐(0) 编辑
COM创建对象方法
摘要:软件架构师何志丹 1、创建COM组件的框架。(组件已注册) IUnknown *pUnk = NULL; IObject *pObject = NULL; CoInitialize(NULL); CoCreateInstance(CLSID_Object, CLSCTX_INPROC_SERVER, 阅读全文
posted @ 2021-09-10 14:58 闻缺陷则喜何志丹 阅读(16) 评论(0) 推荐(0) 编辑
Debug版有什么优势?
摘要:Debug版有什么优势?答:方便定位错误,下面举例说明.一,新建一个基于对话框的工程DebugDlg.二,增加一个编辑框,ID为IDC_EDIT1.三,增加一个按钮,ID为IDC_BUTTON1,标题为"隐藏".为此按钮增加响应函数. void CDebugDlgDlg::OnButton1() { 阅读全文
posted @ 2021-09-04 16:56 闻缺陷则喜何志丹 阅读(10) 评论(0) 推荐(0) 编辑
CAD2010x64 无法找到所需的动态链接库或其他文件
摘要:软件架构师何志丹 a.arx调用了sn.dll, 一直可以正常加载。某种原因重装了acad2010,结果无法加载a.arx。 经试验: 1,不带路径,直接LoadLibraryA("a.arx") 失败。 2,带路径,LoadLibraryA("d://XX//XX//a.arx")成功。 a.ar 阅读全文
posted @ 2021-09-01 22:49 闻缺陷则喜何志丹 阅读(228) 评论(0) 推荐(0) 编辑




点击右上角即可分享
微信分享提示