首页

文章

分享几个小技巧

发布网友 发布时间:2022-04-19 12:08

我来回答

2个回答

懂视网 时间:2022-05-04 03:42

几则技巧 这几天帮同事解决了几个问题,写在这里作为备忘,其他朋友也可以参考。 l 建立 UNICODE 的 MFC 工程 (VC6) 。 按正常步骤建立一个 MFC 应用程序工程。 打开 : Project-Settings-C/C++ 。在 Preprocessor definitions 中定义 UNICODE 和 _UNICODE 两

几则技巧

这几天帮同事解决了几个问题,写在这里作为备忘,其他朋友也可以参考。

l 建立UNICODEMFC工程(VC6)

按正常步骤建立一个MFC应用程序工程。

打开: Project->Settings…->C/C++。在Preprocessor definitions中定义UNICODE_UNICODE两个宏。

打开: Project->Settings…->Link。选择Output类别,修改Entry-Point Symbol的值为wWinMainCRTStartup

编译应该没有问题了。运行时若出现找不到mfcxxx.dll,从VC的安装文件中拷贝到系统目录就行了。

l DLL内存释放问题(VC6)

Windows下,如果在一个DLL里分配的内存,在另外一个DLL或者在EXE里释放,程序可能会crash。这时多半是因为这些DLLEXE链接了不同的运行库,不同运行库的堆是不同的,在一个堆里分配的内存,在另外一个堆里释放,就会crash。解决方案有两个:

方案一:打开: Project->Settings…->C/C++。选择Code Generation类别,确保所有工程的Use run-time library的值是一致。

方案二:哪里分配就在哪里释放。DLL提供了分配函数,同时提供一个释放函数,这样可以确保在同一个堆里释放。

l 抽象工厂模式的一个实例。

同事在开发手机的PC模拟环境时,遇到这样一个问题:其可能通过串口与另外一个真实的手机通信,也可能通过Socket与另外一个模拟手机通信。由配置文件决定实际的通信方式。

首先自然会想到,建立一个抽象基类Stream,一个继承Stream的子类SerialPortStream,实现串口通信,和一个继承Stream的子类SocketStream,实现Socket通信。调用者通过抽象基类Stream的指针去调用不同子类的实现,从而避免大量if/else语句。

但是有好几地方都要创建这些对象,由于创建时仍然要关心具体的子类,前面的方法仍然不够完美。为了避免这些创建代码分散在不同的地方,可以采用抽象工厂模式。程序运行时,根据配置文件创建一个工厂对象,后面通过抽象工厂的指针去创建不同的子类。这样,调用者与实现者之间的耦合降到了最低。

l DBUS marshal函数的参数个数。

DBUSglib封装的marshal函数,与glib原生的marshal完全一样。比如:

void

g_cclosure_marshal_VOID__INT (GClosure *closure,

GValue *return_value,

guint n_param_values,

const GValue *param_values,

gpointer invocation_hint,

gpointer marshal_data)

{

typedefvoid (*GMarshalFunc_VOID__INT) (gpointer data1,

gint arg_1,

gpointer data2);

register GMarshalFunc_VOID__INT callback;

register GCClosure *cc = (GCClosure*) closure;

register gpointer data1, data2;

g_return_if_fail (n_param_values == 2);

if (G_CCLOSURE_SWAP_DATA (closure))

{

data1 = closure->data;

data2 = g_value_peek_pointer (param_values + 0);

}

else

{

data1 = g_value_peek_pointer (param_values + 0);

data2 = closure->data;

}

callback = (GMarshalFunc_VOID__INT) (marshal_data ? marshal_data : cc->callback);

callback (data1,

g_marshal_value_peek_int (param_values + 1),

data2);

}

语句g_return_if_fail (n_param_values == 2);有些让人迷惑,明明只有一个参数,为什么参数个数是2个。从这个函数的实现可以看出,第一个参数始终是对象本身,虽然signal只有一个参数,加上对象指针本身,参数个数变成2个了。

l 安装FC5的内核源码。

[root@localhost ~]# rpm -ivh kernel-2.6.15-1.2054_FC5.src.rpm

[root@localhost ~]# cd /usr/src/redhat/SPECS

[root@localhost SPECS]# rpmbuild -bp --target=i686 kernel-2.6.spec

[root@localhost SPECS]# cd ../BUILD/kernel-2.6.15/linux-2.6.15.i686/

[root@localhost linux-2.6.15.i686]# make menuconfig

[root@localhost linux-2.6.15.i686]#make

[root@localhost linux-2.6.15.i686]# rm /lib/modules/2.6.15-1.2054_FC5/build

[root@localhost linux-2.6.15.i686]# ln /lib/modules/2.6.15-1.2054_FC5/build /usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686/ -s

热心网友 时间:2022-05-04 00:50

大家好,很高兴和大家一起探讨一下生活中的一些小窍门,小技巧,其实现实生活中只要仔细发掘,这些小技巧受用不已。

如过年时候大家买的年桔盆景,过完节气后不要丢弃,可以把它去盆重新栽种在后花园或菜地,每天施肥和浇水,它一样会茁壮成长的,一来可以锻炼身体,二来可以陶养性情,那将会又是一道亮丽的风景线。

如可乐瓶子,平时大家比较喜欢喝喝的饮料罐。喝完后不要随便丢弃。其实他可以制作一个懒人花瓶。把上端剪去。然后注册成一个简易花瓶。又美观又省钱,真正的实用。小伙伴们,你们试过吗?

还有平时装完东西的玻璃罐。用来自作泡酒。非常适合。漂漂亮亮的玻璃罐啊,空气好没有一点胶的那种味道。比一些朋友用胶瓶来制作泡酒,显得相当的健康。

另外香蕉也是大家比较喜欢吃的一种水果吧。但是香蕉皮的作用也是非常的大了,吃完以后。香蕉皮的作用就显示出来了,如果你的皮鞋油刚好没有了。那这个时候香蕉皮就起作用了。用香蕉皮了擦皮鞋,就像猪油一样会闪闪发光,令你非常有面子。

以上是本人经验所谈,希望大家喜欢,谢谢大家的观看。如果有赞同的,欢迎大家评论。
土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 进出口报关流程,越详细越好。谢谢大家指教。 双线桥不是看化合价升多少就标多少的吗?为什么CL2+2KI=2KCL+I2中I失... 出师表高锰酸钾有画面了吗 2021年幼儿园新学期致家长一封信 电脑屏幕一条黑线怎么办? 销售代理商销售代理商的特点 商业代理商业代理的特征 如何看微信有没有开通微众银行 为什么微众没有开户 微众银行怎么开户 微众银行APP开户流程是什么? 唐古拉山海拔唐古拉山海拔是多少 怎么看待取消跳广场舞的人的退休金 如何选购新鲜的蓝田水柿? 恭城水柿柿树作用 创维洗衣机使用教程 创维全自动洗衣机怎么使用 自动开门器 狗羊属相婚姻相配吗 3岁的小孩不会说话怎么办 3岁孩子不会说话,应该挂什么科? 3岁小孩不会说话正常吗 鹿茸炖乌鸡怎么做? 新型冠状肺炎吃什么药可以预防 冰箱上电后一直响 告诉我生活中的小窍门 新手上路开车有什么小技巧 有什么生活中常见的小技巧? 如何学习各种小技巧 生活小窍门·学习小窍门! 生活中的小技巧有哪些? 新手上路开车小技巧都有哪些? 生活中的小窍门 生活中的小技巧 生活中有哪些小窍门,【常用的】 生活小窍门一年级简单 寮怎么读 卤牛腱子肉的做法是什么? 回民酱牛肉的正宗做法怎么做 回民卤牛肉的制作方法 昆山市属于哪个省 三星SCX-4521F怎样恢复出厂设置? 三星SCX-4521F总显示墨粉用尽怎么处理 如何给SCX-4521F复印机清零 三星scx-4521f打印机能打印不能复印怎么办 大学生的一些日常小常识,生活小技巧,小窍门有哪些? 男女刚谈恋爱的小技巧 拿了驾照却不敢上路怎么办? 在公司感觉和同事们有距离感,怎么克服这种心理? PPT实用小技巧有哪些? 电脑有网,Steam连接不到网络是怎么回事? 打开绝地求生显示无法连接到服务器,怎么回事呢? PUBG充值与STEAM通信连接不成功 steam进绝地求生为什么进不去? 绝地求生连接服务器失败解决方法 为什么我用steam安装吃鸡说错误无法连接服务器 登陆游戏时提示“steam在连接至steam服务器时遇到问题”,怎么办? ssteam下载游戏显示无法连接到更新网络 绝地求生连接服务器失败如何解决 《绝地求生》连接服务器失败如何解决? 绝地求生上不去 Steam错误怎么回事? 更新绝地求生连接超时 无法连接至服务器怎么解决 绝地求生错误 无法连接至Steam网络解决方案 《绝地求生》无法连接与主机失去连接怎么办? steam更新绝地求生发生错误无法连接到更新服务器
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com