腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
P
/
Invoke
:
C#
P
/
调用
C
函数
会
根据
平台
返回
不同
的
值
(
X86
与
X64
)?
c#
、
.net
、
.net-core
、
pinvoke
我在
C
DLL中定义了以下
函数
签名: __declspec(dllexport) _Bool __cdecl cs_support(int query); 我在一个内部类中创建了以下
P
/
Invoke
签名等价物如果应用程序以
X86
为目标,则
调用
函数
一次,如果以
X64
为目标,则
调用
一次(因此加载了
C
动态链接库
的
X86
或
X64
版本),我得到了
不同</e
浏览 16
提问于2019-01-24
得票数 0
回答已采纳
1
回答
C
++/CLI、
x86
、
x64
与
强命名
的
结合
c#-4.0
、
c++-cli
让我直截了当地说:
C#
(4.0),AnyCPU.用
C
++/CLI编写
的
本机.dll
的
包装器。编译成两个版本;
x86
和
x64
,都用相同
的
.snk键签名(使用解决方案)最后,
x86
和
x64
平台
需要一个单一
的
发行包。主应用程序需要强名称,因为引用其他强名称
的
lib。使用托管
C#
和
P
/
In
浏览 4
提问于2012-08-13
得票数 1
回答已采纳
1
回答
在多线程环境中从
C#
调用
Delphi时
的
访问冲突
c#
、
.net
、
multithreading
、
delphi
、
pinvoke
我使用
P
/
Invoke
从XE2从
C#
调用
一个用Delphi编写
的
DLL
函数
。当
调用
按顺序从单个线程发出时,它似乎是工作
的
。但是,当多个线程
调用
该
函数
时,
C#
主机应用程序似乎随机抛出System.AccessViolationException。 为什么下面的代码
会
触发访问冲突,以及如何解决这个问题?
C#
主机应用程序在.NET 4.0中为
x86</
浏览 1
提问于2015-05-12
得票数 8
回答已采纳
1
回答
AppDomain.GetCurrentThreadId();使其工作,不确定如何?
c#
、
.net
、
wpf
警告:I在一个月前开始用
c#
编码,没有预先存在
的
编程知识。我使用以下方法将MessageBox放在父窗口
的
中心:由于代码无法使用uintGetCurrentThreadId(); static extern int GetCurrentThreadId(); 到目前为止,我已经编写了一个相当复杂
的
数据库程序,
浏览 0
提问于2018-09-05
得票数 1
回答已采纳
1
回答
在命令行中打包时msbuild选择了错误
的
package.appxmanifest
msbuild
、
visual-studio-2017
、
packaging
我有一个VS 2017
的
C#
解决方案,包含一个应用程序项目、一个桌面扩展项目和一个打包项目。正如我在中提到
的
,我最终获得了msbuild,以便为我创建一个包含
x86
和
x64
的
单个包。\MyApp.sln /
p
:Configuration=Release /
p
:Platform=
x86
只有当我使用msbuild一起构建两个
平台
时,它才会使用我
的
主要应用程序项目中
的</em
浏览 0
提问于2018-11-09
得票数 0
回答已采纳
1
回答
用SWIG为AnyCPU生成
C#
程序集
c#
、
c++
、
swig
我已经编译了
x86
和
x64
二进制文件(
c
++),并且能够生成一个SWIG
P
/
Invoke
包装器。但是包装器依赖于被
调用
的
本机dll (这是CPU特定
的
)。但我喜欢让可执行文件来决定,而不是有两个
不同
的
可执行文件。如果这样做有帮助,我会将dll放在单独
的
文件夹中(例如,命名为
x64
/
x86
)。还是我必须用
C#
编写手工包装器,从
浏览 2
提问于2014-07-07
得票数 1
回答已采纳
2
回答
如何在
C#
应用程序中使用
C
++类而不考虑
平台
?
c#
、
c++
、
interop
、
32bit-64bit
我有一个本机/非托管
C
++库,其中包含许多我想从
C#
中使用
的
类。我读过
的
大多数解决方案(如和)都建议我应该创建一个
C
++/CLI包装器,并在我
的
C#
项目中使用这个包装器。然而,这些建议中
的
大多数都忽略了
平台
。据我所知,如果非托管DLL是32位
的
,则包装DLL必须是32位
的
,这将强制我
的
C#
项目使用
x86
平台
,
浏览 54
提问于2010-09-17
得票数 5
回答已采纳
1
回答
"_Memmove“在核心库源代码中
的
实现在哪里?
c#
、
.net
extern private unsafe static void __Memmove(byte* dest, byte* src, uint len);代码引用了一个外部__Memmove()
函数
该
函数
是在哪里实现
的
?
浏览 1
提问于2018-03-24
得票数 1
3
回答
可以从
C#
创建
C
++对象吗?
c#
、
c++
、
cross-language
、
multiple-languages
我目前正在做一个游戏项目,所以我正在用
C#
开发我
的
编辑器,因为用
C
++
会
花很多时间,所以为了提高效率,我使用
C#
作为编辑器
的
主要语言,以便快速获得结果。这是因为
C#
是一个RAD环境,所以它开发windows应用程序很快,但
C
++/DirectX可能是最适合玩游戏
的
环境。 既然它们都是.NET框架
的
一部分,那么有没有办法将它们结合起来呢?
浏览 5
提问于2012-11-12
得票数 2
4
回答
使用.NET编译器瞄准ARM体系结构
c#
、
.net
、
visual-studio
、
windows-mobile
、
compiler-construction
当您在.NET中编译windows应用程序时,您可以将“
平台
目标”设置为
x86
或
x64
。这将使您
的
代码针对处理器
的
特定体系结构进行优化,并允许避开IL。有没有人知道有没有什么方法可以让Windows Mobile应用程序达到同样
的
效果?我只对在ARM架构上运行我
的
应用程序感兴趣。
浏览 0
提问于2009-01-24
得票数 3
回答已采纳
2
回答
P
/
Invoke
错误仅适用于Vista/Windows Server 2008
c#
、
windows-server-2008
、
pinvoke
我
的
代码通过
P
/
Invoke
使用SSPI dll (security.dll)中
的
方法,它在所有测试
的
平台
(Windows XP,Windows Server2003,
x86
和
x64
)上都工作得很好,但是我们正在迁移到Windows Server2008
的
过程中,发现
P
/
Invoke
调用
正在破坏这个过程。/
x64
, Windows S
浏览 1
提问于2010-07-20
得票数 3
回答已采纳
1
回答
如果有选择,混合模式程序集相对于单独
的
互操作DLL
的
利弊是什么?
.net
、
sqlite
、
interop
、
.net-assembly
、
mixed-mode
当第三方组件在“混合模式程序集”和“单独
的
互操作dll”版本中提供时,每种组件
的
优缺点是什么? 但为什么?混合模式程序集在我
的
项目中似乎工作得很好,没有安装GAC (只需将xcopy复制到应用程序
的
exe目录)。少一个DLL真好。感觉更整洁。那么缺点是什么呢?反之亦然,为什么人们
会
/应该支持双dll“本机-dll+互操
浏览 2
提问于2015-12-07
得票数 16
回答已采纳
4
回答
在
C#
应用程序中使用
C
或
C
++ API
windows-mobile
我对windows mobile开发有一点疑问,在
C#
应用程序中是否可以使用
c
或
C
++ Apis,反之亦然?如果可能的话,该怎么做呢?
浏览 0
提问于2009-08-28
得票数 1
1
回答
32位和64位系统上
的
P
/
Invoke
.net
、
winapi
、
x86
、
pinvoke
、
64-bit
让我们选择以下Win API
调用
作为示例:输入参数为UINT来指定beep类型,beep类型可以是32位整数和64位整数,这取决于我们在哪个Windows版本上
调用
它(或者我错了吗?)如果我想从
C#
调用
消息beep,那么我将应用DllImport声明:static extern Boolean MessageBeep(UInt32b
浏览 2
提问于2010-03-15
得票数 2
回答已采纳
5
回答
为32位和64位非托管DLL创建托管包装
c#
、
visual-studio
、
64-bit
、
unmanaged
、
x86-64
我们正在非托管DLL周围创建一个
C#
包装器。非托管DLL提供32位和64位版本。我们将托管包装器放在它自己
的
项目中,这样我们就可以将它构建为一个单独
的
组件,并在解决方案中重用它。由于32位和64位版本
的
非托管DLL具有相同
的
名称,因此我们在将正确
的
非托管DLL移动到输出(bin)目录时遇到了问题。如果构建配置是
x86
,我们希望复制32位版本,对于
x64
,我们希望复制64位版本。只有一个处理器架构,这是很容易实现
的
。我们找到了这个链接,
浏览 0
提问于2010-01-14
得票数 7
2
回答
在为64位窗口构建
x86
和AnyCPU时以OSes为目标
.net
、
64-bit
我有一个为
C#
2.0编写
的
现有.NET应用程序,目前
的
目标是AnyCPU。它目前引用了一些第三方.NET DLL,我没有源代码(我也不确定它们是为
x86
、
x64
还是AnyCPU构建
的
)。如果我想在64位Windows操作系统上具体运行我
的
应用程序,我应该瞄准哪个
平台
,这样我
的
应用程序才能无错误地运行?我目前
的
理解是:
x86
:如果至少为
x86
构建了一个第三方.NET dll,或者
浏览 1
提问于2010-06-01
得票数 10
回答已采纳
5
回答
进入disassemby视图中
的
P
/
Invoke
调用
visual-studio
、
debugging
、
pinvoke
、
step-into
我
的
C#
代码是通过
P
/
Invoke
调用
非托管第三方库
函数
,而非托管
函数
正在产生一些奇怪
的
副作用。我想调试一下,看看它在做什么。如果我调试我
的
C#
代码,并尝试“逐步进入”
P
/
Invoke
调用
,那么它就会跳过去。这并不奇怪--我预料到了;它没有这个DLL
的
源代码,我也没有告诉它,我不介意看到反汇编视图。现在,我在我
的</e
浏览 8
提问于2009-10-12
得票数 11
6
回答
如何设置
C
++
函数
以供
p
/
invoke
使用?
c#
、
c++
、
pinvoke
、
dllimport
、
extern
希望这是一个轻而易举
的
问题,但它表明我缺乏
C
++
的
专业知识。我是一名
C#
程序员,过去我在其他人
的
C
++/ dlls中使用过
P
/
Invoke
做过大量
的
工作。但是,这一次我决定自己编写一个包装器
C
++ dll (非托管),然后从
C#
调用
我
的
包装器dll。 我立即遇到
的
问题是,我无法定义可以通过
p
/<em
浏览 8
提问于2009-10-07
得票数 8
回答已采纳
4
回答
关于
C#
项目的
C
部分:我们可以混合原始
C
和
C#
代码(VS10)吗?
c#
、
.net
、
c
、
visual-studio
我有一个
C#
VS10项目。我希望它
的
部分是纯
C
。所以我将有一个纯
C
库和一个
C#
文件,其中将有
C
代码
调用
纯
C
库
的
部分。就像
C#
浏览 3
提问于2010-07-13
得票数 0
回答已采纳
2
回答
64位机器上构建于AnyCPU vs
x64
平台
上
的
C#
应用程序
的
性能
c#
、
.net
、
clr
我必须将
C#
应用程序部署在64位计算机上,尽管也有可能将其部署在32位计算机上。我是应该针对
x86
和
x64
平台
构建两个独立
的
可执行文件,还是应该针对'AnyCPU‘
平台
构建单个可执行文件(在项目属性
的
build option中指定)。在64位机器上部署针对'AnyCPU‘
的
C#
程序集
与
专门针对'
x64
’
平台
构建
的
相同程序集之间是否存在
浏览 0
提问于2012-06-16
得票数 34
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
c#中用ProcessStart(vlcexelnkurl);用vlc的快捷方式打开url不起作用?
C语言编程经验
PL/SQL的函数和存储过程
C语言编程:以实例教你学指向函数的指针
面向对象的编程-Application 5
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券