CNDEV
...
...
账号
登
登录
先
先随便看看
中国开发网
: 论坛:
程序员情感CBD
: 贴子 414478
茶壶
·
2006-10-04 03:59:10
·
阅读: 441
靠,VC++2005真强。才发现语言特性有了改变。句柄是个不错的东东。
<空>
相关信息:
各位大虾,请教一个问题。。。在vc++2005里面怎么把char*型转换成array<Byte>的指针?
(空) (
MaoMao
[598]
2006-10-04 07:43
)
用WTL吧。吼吼。
(空) (
茶壶
[391]
2006-10-04 08:36
)
我要用.net framework的MemoryStream,这玩艺又只能用array<Byte>作为构造函数的参数,而我需要用自己分配的内存给MemoryStream使用。。。
(空) (
MaoMao
[632]
2006-10-04 09:00
)
俺在 DELPHI 下这样定义:TMyArray= array of char,居然可以。
(空) (
pcplayer
[525]
2006-10-04 09:04
)
靠,本来就可以。
(空) (
茶壶
[286]
2006-10-04 09:11
)
[猜测]一个纯内存指针,一个是.NET的类,看来,得用 Marshal.PtrToStructure了。
(空) (
茶壶
[735]
2006-10-04 09:45
)
好像不行啊,这个是把一个内存的数据映射(实际上是拷贝)到一个结构体里。。。
(空) (
MaoMao
[624]
2006-10-04 10:18
)
你确定你仔细看过帮助与示例了吗?别又想当然了。
(65字)
(
茶壶
[429]
2006-10-04 10:38
)
不过倒是可以考虑用Marshal.AllocHGlobal来分配内存,多谢多谢。。。
(空) (
MaoMao
[480]
2006-10-04 10:23
)
如果有办法能转换就好了,我要使用VirtualAlloc 来分配内存。。。
(空) (
MaoMao
[602]
2006-10-04 10:24
)
哦,原来你并不是一定要使用char*,只不过要找到托管代码中的内存分配方法。
(空) (
茶壶
[385]
2006-10-04 10:39
)
但是最终我要调用别人的C函数,要把这个内存作为参数传给他,估计会是char* 或者是 LPVOID的形式。。。
(空) (
MaoMao
[513]
2006-10-04 10:53
)
那你绝对要细读文档了,特别是PinvokeLib.dll的示例。
(57字)
(
茶壶
[397]
2006-10-04 10:55
)
没太看明白,但如果只是内存分配,就直接传好了,至于char*,LPVOID还是其它就看你要调用的C函数的参数类型了
(空) (
周星驰
[472]
2006-10-04 12:37
)
是这样的。。。
(109字)
(
MaoMao
[765]
2006-10-04 12:49
)
噢,那茶壶胸说的应该是正解
(空) (
周星驰
[316]
2006-10-04 12:59
)
Marshal.AllocHGlobal是使用 Win32Native.LocalAlloc_NoSafeHandle来分配内存的。
(空) (
茶壶
[557]
2006-10-04 11:21
)
也许不一定用这个方法。String与StringBuilder不是很不错吗?还有,
(101字)
(
茶壶
[388]
2006-10-04 10:47
)
我看看。。。不过我需要分配的内存大小大概在50M到100M
(空) (
MaoMao
[310]
2006-10-04 10:59
)
看了一下,似乎那个PinvokeLib.dll才是你的需要。
(空) (
茶壶
[377]
2006-10-04 11:01
)
靠,VC++2005真强。才发现语言特性有了改变。句柄是个不错的东东。
(空) (
茶壶
[440]
2006-10-04 11:59
)
变化大发了。。。
(空) (
MaoMao
[320]
2006-10-04 12:25
)
欢迎光临本社区,您还没有登录,不能发贴子。请在
这里登录