Hláška typu - Impossible constraint in 'asm' – Assembler – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Hláška typu - Impossible constraint in 'asm' – Assembler – Fórum – Programujte.comHláška typu - Impossible constraint in 'asm' – Assembler – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Anonym
~ Anonymní uživatel
429 příspěvků
20. 2. 2014   #1
-
0
-

Ahoj,

mám problém s kompilací *.c souboru, který v sobě obsahuj ASM kód.  

typedef unsigned long long u64;
u64 rdtsc() {
    u64 tsc;
    __asm__ __volatile__("rdtsc" : "=A" (tsc));
    return tsc;
}

Překladač mi vyhazuje chybu:

root@expbone:~/Desktop# gcc soubor.c 
soubor.c: In function 'rdtsc':
soubor.c:20:5: error: impossible constraint in 'asm'


Jedná se o soubor realfeel.c zde http://brain.mcmaster.ca/~hahn/realfeel.c

Budu rád za jakoukoliv pomoc či radu. Děkuju

Nahlásit jako SPAM
IP: 147.228.209.–
Reklama
Reklama
z
~ Anonymní uživatel
268 příspěvků
20. 2. 2014   #2
-
0
-

   

#if defined (__i386__)
u64 rdtsc()
{
	u64 tsc;
	__asm__ __volatile__("rdtsc":"=A"(tsc));
	return tsc;
}
#elif defined (__x86_64__)
u64 rdtsc()
{
	unsigned int tscl, tsch;
	__asm__ __volatile__("rdtsc":"=a"(tscl),"=d"(tsch));
	return ((u64)tsch << 32) | tscl;
}
#else
#error "tak tady ti rdtsc nerozchodim"
#endif
Nahlásit jako SPAM
IP: 88.101.8.–
Anonym
~ Anonymní uživatel
429 příspěvků
20. 2. 2014   #3
-
0
-

#2 z
Děkuju za pomoc, ale při překladu mi to teď bohužel skočí do #error a vypíše:

root@expbone:~/Desktop# gcc soubor.c 
soubor.c:35:2: error: #error "tak tady ti rdtsc nerozchodim"

Nešlo by to ještě nějak "opravit"?

Nahlásit jako SPAM
IP: 147.228.209.–
z
~ Anonymní uživatel
268 příspěvků
20. 2. 2014   #4
-
0
-

Pro jaký procesor to kompiluješ?

Nahlásit jako SPAM
IP: 88.101.8.–
Anonym
~ Anonymní uživatel
429 příspěvků
20. 2. 2014   #5
-
0
-

#4 z
Pro ARM11.

Nahlásit jako SPAM
IP: 147.228.209.–
z
~ Anonymní uživatel
268 příspěvků
20. 2. 2014   #6
-
0
-

http://google-perftools.googlecode.com/svn/trunk/src/base/cycleclock.h

Nahlásit jako SPAM
IP: 88.101.8.–
Anonym
~ Anonymní uživatel
429 příspěvků
21. 2. 2014   #7
-
0
-

#6 z
Přiznám se, že moc nerozumím, k čemu přesně mi to poslouží. Jsou tam konstrukce jen pro ARMv6 (nejvyšší). Nebo to je jedno?

Nahlásit jako SPAM
IP: 147.228.209.–
z
~ Anonymní uživatel
268 příspěvků
22. 2. 2014   #8
-
0
-

Takže to makro nemáš definované, nebo ta operace na této verzi nefunguje?

Nahlásit jako SPAM
IP: 88.101.8.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 159 hostů

Podobná vlákna

Asm v C++ — založil Sir_E

Podminka v ASM — založil Mutagen

Asm 8086: OUT DX,AX — založil Mircosoft

Násobení v ASM — založil AIPHEE

čtení single v ASM — založil xanyt

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý