C2Xdouble X(1000,1000);
Print("X(100,100).SizeOF() = ",X.SizeOf());
// добавил в ваши классы вычисление размера
-----
C2DMagicArray MA(1000,1000);
Print("MA(100,100).SizeOF() = ",sizeof(MA)+MA.SizeOf());
// это мой. у меня MA.SizeOf() возвращает только размер чистого буфера, поэтому по честному добавил размер класса. :)
因此有了第一个问题。
如何从32位的dll,如user32.dll等导入函数 到64位的应用程序中?还是在系统中存在具有该名称的副本并创建了一个OOP空间?
那么,首先,x64系统有模拟启动x86程序的功能。问题是如何在X86中运行X64程序?
也许问题根本不是关于终端,而是关于这些非常DLLs的一些棘手的编译?
这些DLL是由Windows API提供的,例如32/64位终端中的user32、kernel32、winmm、wininet。
问题的解决方案似乎在于其他地方。
问题是如何在X86中运行X64程序?
也许问题根本不是关于终端,而是关于这些DLLs的一些棘手的编译问题?
例如,user32、kernel32、winmm、wininet可以在32/64位终端工作。
解决这个问题的办法似乎在于其他方面。
因此,从理论上讲,你可以使32位DLLs在那里和那里工作。
也许现在是时候给开发商打电话了。
也许有更狡猾的编译方式//我停止了在x64上以 "天真 "方式编译的32位DLL的工作。 无论如何,有先例 "存在"(c)。
例如,32/64位终端中的user32、kernel32、winmm、wininet。
所以用这个比喻来做......没什么大不了的!......。:-))
我去看看。;)
最简单的版本,适合你的情况。
那么,对于最简单的情况,信用。"我把你写下来":)
根据记忆,但相比之下,并不稀奇。
结果。
考虑到我有一个浮动的缓冲区--3倍,差距是6倍。 // 你也有一个隐性的内存劫--你的系统表的类描述符(在这个例子中)是1000*1000+1000,而我的是1(!)。
速度几乎相同。
你会不会缩水?;)
--
我撒谎了,你的子类都是静态的,所以隐性的抢劫有点夸张了。划掉这个。:)
也许现在是时候给开发商打电话了。
x86(32位)进程的系统库函数有一个特殊的包装,通过它传递给x64,执行后返回给x86。
简而言之。
x86(32位)进程的系统库函数有一个特殊的包装器,通过它被转移到x64,执行并返回到x86。
谢谢你提供的信息。
你能告诉我如何在你自己身上做同样的事情吗? 只要有一个链接(如果有的话)。
你会不会缩水?;)
不,我尽可能地使用一维数组。
好的。在这种情况下,优化问题是次要的。 无论如何,这一壮举是被捍卫的。
--
我可以为你提供以下问题。
数组具有任意的维度(为了清楚起见,我们把它限制为^16)。
维度是在创建时通过参数的数量来设置的,和通常的数组一样。
XXArray xx2(5,7), xx5(12,12,16,16,8);
应该对所有尺寸的索引器都有效( A[i][j][k][n][m]....)