java调用dll char_动态链接库中的char *类型的函数参数(dll / so)

我编译了一个特定于供应商的OpenGL Headers ,用于使用特定于硬件的静态库进行编译,但我使用nVidia Quadro 4000卡和库(linux)进行链接和运行 . 这就是我们的供应商说我们应该在主机环境中这样做,所以不用担心 .

我找到了一些奇怪的东西 . 特定于供应商的 Headers 将GLchar typedeffed作为'unsigned char'(叹息......),而nVidia Headers 类型将其设置为'char' . 这些类型不一样,但它仍然“有效” . 我无法隐式地将char *转换为unsigned char *,这给了我一个编译错误,但我可以链接并成功运行可能使用'char'原型构建的函数(glGetUniformLocation)库 .

发生了什么?运行时是否通过判断'char'与'unsigned char'“足够接近”来解决它?或者在 Build 图书馆时,“char”的出现是否扩展到一个签名或另一个签名?如果是这样,如果我使用所有三种签名重载函数会发生什么?

编辑:注意OpenGL库使用C-linkage来解释我在接受的答案中描述的特定体验 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值