0
有沒有人可以幫助我確定下面編譯器錯誤的原因。下面的代碼中「不可能約束」asm「錯誤的原因
「.. \ TestRT \ TDP \ PPCGNU \ LIB \ custom.h:428:錯誤:‘ASM’不可能的約束」:
在此先感謝
代碼!
有沒有人可以幫助我確定下面編譯器錯誤的原因。下面的代碼中「不可能約束」asm「錯誤的原因
「.. \ TestRT \ TDP \ PPCGNU \ LIB \ custom.h:428:錯誤:‘ASM’不可能的約束」:
在此先感謝
代碼!
我認爲文檔回答了這個問題。您可能有x86代碼正在爲x86-64構建。 A適用於x86,但不適用於x86-64。 GCC documentation介紹瞭如何通過對x86-64的A替換爲:
「這是不是在正確的x86-64的,因爲它會在任一斧或DX分配剔你必須使用下面的變種,而不是:」
unsigned long long rdtsc (void)
{
unsigned int tickl, tickh;
__asm__ __volatile__("rdtsc":"=a"(tickl),"=d"(tickh));
return ((unsigned long long)tickh << 32)|tickl;
}
什麼是您的目標架構? –
嗨,這段代碼覆蓋活動通過使用RTRT。 –
嗨weimer,TDP是** cpcgnu **,在Windows 7 PC上使用cygwin gcc編譯 –