0
當調試加載了dlopen()
的共享庫時,我發現一個有趣的事情。當從我的庫調用基於32位的函數時,返回的地址爲crypt()
;也就是說,當我嘗試在調試器中看到該地址時。它說這是一個不好的地址。在這個地址上添加一個移位,在我的例子中爲0xffffffff00000000
給出了正確的結果。查看crypt
源,很明顯,crypt
返回的字符串是一個靜態char數組,但不清楚爲什麼該地址是基於32位的。由Solaris x64上的crypt()返回的地址不正確
預先感謝您的任何想法和幫助