日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

如何判断lib和dll是32位还是64位?答案是使用微软的dumpbin工具,后面讲了如何使用gcc生成lib和dll

發布時間:2023/12/24 windows 31 coder
生活随笔 收集整理的這篇文章主要介紹了 如何判断lib和dll是32位还是64位?答案是使用微软的dumpbin工具,后面讲了如何使用gcc生成lib和dll 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么我會考慮這個問題呢?因為我在使用java去調用一個c的lib庫的時候,彈出以下警告: D:\work\ideaworkpaces\jdk21Test001\src\main\java\lib\hello.lib: %1 不是有效的 Win32 應用程序。
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
然后我就在想是不是這個lib庫是64為導致的,眾所周知,java只能調用32位的。

接下來,我開始講解如何使用dumpbin。

第一步,找出dumpbin.exe文件。

右鍵打開文件的所在位置。

當然我會直接告訴你dumpbin.exe文件在那里,就在:

第二步,配置一下,環境變量。

第三步,使用dumpbin.exe

dumpbin.exe /headers Hellolib.lib

結果為:

可以看出,該lib包為64位的。
32位的lib包長這樣:

當然dll庫也是一樣的:

dumpbin /headers HelloDll.dll

插嘴一句,其實gcc生成lib庫也是非常簡單的

以下是.h頭文件和實現.h文件的c源文件

先使用

gcc -c hello.c

生成hello.o文件:

然后將.o文件生成lib庫:

ar -cr hello.lib hello.o

結果圖:

如果只是想用gcc生成32位的lib庫的話,那就要在第一步的時候輸入:

gcc -m32 -c hello.c

然后輸入下面命令就行了。

ar -cr hello.lib hello.o

如果是想用gcc生成dll文件,也是非常簡單的

在上面第一步的前提下,輸入以下代碼就行了:

ar -cr hello.dll hello.o

結果圖:

總結

以上是生活随笔為你收集整理的如何判断lib和dll是32位还是64位?答案是使用微软的dumpbin工具,后面讲了如何使用gcc生成lib和dll的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。