PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 疑難雜症區
帳戶
密碼
 

回應
 
主題工具
拿破崙波拿巴
*停權中*
 
拿破崙波拿巴的大頭照
 

加入日期: Dec 2018
文章: 53
Question 寫 Linux Kernel Module 問題

編譯的時候 遇到這個錯誤訊息

/home/kali/opemu-linux/fpins.c: In function ‘round_fp32’:
/home/kali/opemu-linux/fpins.c:42:1: error: SSE register return with SSE disabled

fpins.c:42:1
代碼:
float round_fp32(float fp32, int rc)
{
    switch(rc) {
        case 0: fp32 = round_sf(fp32); break;
        case 1: fp32 = floor_sf(fp32); break;
        case 2: fp32 = ceil_sf(fp32); break;
        case 3: fp32 = trunc_sf(fp32); break;
    }
    return fp32;
}


我 google 發現 Linux 核心 沒辦法進行浮點運算 說是考慮到性能 所以 gcc 預設啟用 -mno-sse 參數 禁止浮點運算

那有什麼方法可以解決 SSE register return with SSE disabled 成功編譯.

寫 Linux KMS 返回浮點值的函數都不能用嗎
     
      
舊 2019-05-24, 03:13 PM #1
回應時引用此文章
拿破崙波拿巴離線中  
substar999
Senior Member
 

加入日期: Sep 2001
您的住址: K
文章: 1,442
想辦法用整數運算方式改寫啊!比如說
int perc = 100 * v1 / v2;
想要更高的精確度,那就多乘一點,比如說乘10000
相關討論國外論壇多少都有,您該不會只用中文去找吧?
 
舊 2019-05-25, 12:46 AM #2
回應時引用此文章
substar999離線中  
拿破崙波拿巴
*停權中*
 
拿破崙波拿巴的大頭照
 

加入日期: Dec 2018
文章: 53
引用:
作者substar999
想辦法用整數運算方式改寫啊!比如說
int perc = 100 * v1 / v2;
想要更高的精確度,那就多乘一點,比如說乘10000
相關討論國外論壇多少都有,您該不會只用中文去找吧?


太多了 我懶得改

我在 makefile 添加 -msse2 可以編譯

-mssex 這不是加入指令集最佳化嗎,怎麼有些人會說 會影響性能

意思好像說 加入指令集最佳化 編譯 Linux Kernel Module 性能會變差的樣子
舊 2019-05-25, 06:54 AM #3
回應時引用此文章
拿破崙波拿巴離線中  
MyChris
*停權中*
 

加入日期: Aug 2018
文章: 45
換一張新的支那床單, 上面會有破解密令, 支那手機就是靠這樣發展起來的
舊 2019-05-25, 09:49 AM #4
回應時引用此文章
MyChris離線中  


回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是02:55 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2024。