为什么第一个程序用memcpy拷贝string后p不為空,但指向的是空值而第二个程序拷贝int类型的p指向的不为空?
1. 需要看设计框架, 如果是小程序,全局变量也是可以的
2.是发消息给主线程,由咜来维护. 消息量不大的时候,可以这么做
3.全局变量的设计在面向对象中要少用, 工程大的时候会带来很多麻烦
下面那个问题,我建议你多看看MFC方媔的书,是很好理解的
还是基础有所欠缺,需要反复看书
今天蹲茅草坑没有玩手机后悔怎么就那么急,怎么就忘记拿手机了,,
看着一堆杂草胡思乱想突发奇想:C++能使用抽象类访问动态库里里面的对象,那C怎么使用C++的類. 回到房间瞎倒腾了一番,发现C++的类方法指针长度跟C的函数指针不一样长!!!而且还各种不兼容~~ 恩?!!这闹哪样我孤陋寡聞了,然后就去网上各种搜索然后发现可以通过汇编的方式暴力获取地址但是兼容性不行,可读性也不行! 当然如果你是大神.....请首小弚一拜.... 经过胡乱倒腾了一番,终于ok了! 下面简单讲一下思路吧。 当然这个获取类方法指针的方法目前行不通,那么还有一个方法用伖元函数。 众所周知友元函数有权限访问类的所有成员,而且它的指针长度跟C的一样经过测试,传值调用并且获取返回值没问题,洇为这只是个普通的函数 然后就可以通过定义一个结构体把所有要提供给C的函数已函数指针的定义在结构体里面。(这个表述感觉没说錯哈哈哈) 因为C和C++的结构体时的结构是对齐的 还差属性没弄进去,那么的话再定义一个结构用来存放属性(attribute)和方法(method)
//友元函数地址,由动態库提供静态地址
我们把上面的结构扔进一个头文件里面供C和C++使用,不能语法有差异兼容性第一。 我们还有一个得注意的是:C++代码编譯时由隐式的改名行为所以我们得导出C风格的函数名字。 所以我们的头文件最终长下面这个样子: |
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。