PDA

Visualizza la versione completa : DevC++ e impostazioni compilatore


tossam
12-10-2009, 14:30
Buongiorno,

sapete per caso come si fa a impostare in Dev C++ le opzioni del compilatore in modo tale che io possa usare la sintassi _asm per scrivere dell'assembly inline?


Grazie xD

oregon
12-10-2009, 14:42
Non credo ci siamo particolari impostazioni ... devi usare la

__asm

e la sintassi AT&T, ad esempio

__asm(mov %ax,%bx);

Personalmente ho disinstallato devcpp perche' obsoleto ...

tossam
12-10-2009, 14:50
ah niente... perchè questo assembly è un po' diverso da quello che ero abituato a scrivere io. ho una guida che riporta degli esempi inline del tipo

_asm{
mov ax,5
add ax,2
}

cioè intendo senza i "%" o robe simili. non sai per caso come scrivere questo genere di assembly?

Oppure, in alternativa mi puoi dire che ambiente usi ora?

Grazie..

oregon
12-10-2009, 14:53
Quella non e' la sintassi AT&T e devcpp, che io sappia, non la supporta-

Puoi utilizzare quella notazione con il Microsoft Visual C++ 2008, che io utilizzo nella versione Professional.

Puoi scaricare dal sito Miscrosoft gratuitamente la versione Express e utilizzarla.

tossam
12-10-2009, 14:57
Ecco, bene, io ho visual studio e in effetti ho provato quel tipo di assembly. Ma riportaa degli errori strani, e non capisco perchè:

ad esempio quando ci sono delle istruzioni del tipo int 10h o simili, mi lancia un'eccezione di violazione della memoria. o una roba simile. se vuoi riporto.

oregon
12-10-2009, 15:11
Originariamente inviato da tossam
Ecco, bene, io ho visual studio e in effetti ho provato quel tipo di assembly. Ma riportaa degli errori strani, e non capisco perchè:

ad esempio quando ci sono delle istruzioni del tipo int 10h o simili, mi lancia un'eccezione di violazione della memoria. o una roba simile. se vuoi riporto.

Ma tu hai conoscenze della materia?

L' INT 10h, non puo' essere richiamato da un'applicazione Win32 ...

tossam
12-10-2009, 21:39
No, non ho conoscenza in materia nel senso k ha sempre lavorato con linguaggi separati: o tutto in assembly, o tutto in C, in C# ecc.
ma non ho mai provato a realizzare nulla che utilizzi più linguaggi.
Se dunque non posso lanciare un int da un progetto di visual studio? come posso fare per sfruttare appieno C e Assembly insieme?
Per prima cosa voglio imparare a usare l'assembly inline e poi a integrarlo dall'esterno che penso sia un po' più difficile. Saresti in grado di consigliarmi come fare ad esempio partendo anche da che ambiente di sviluppo secondo te si potrebbe prestare maggiormente al mio caso? per ora voglio solo imparare, tutto qua...

oregon
12-10-2009, 22:02
No .. il problema e' che tu usi l'assembly 16 bit del DOS e non quello che dovresti usare all'interno di un programma Win32 ...

tossam
12-10-2009, 22:19
e dunque questo dipende dal progetto che creo con visual studio? che progetto dovrei scegliere?
Se hai pazienza mi spiegheresti brevemente la differenza da un'applicazione win 32 e una dos 16bit? è solo il set di istruzioni che cambia poichè cambia il numero di bit?
se vuoi cerco su internet, anzi sicuramente lo farò ma se me lo spieghi con parole semplici te ne sarei grato :D

DennisM
13-10-2009, 07:17
adesso sei usando il Microsoft VC++? a te io suggero che tu usa il GCC (se hai una sistema del linux) ma se si deve usare il Windows poi è più meglio per usare VC++. lo è flessible cmq. tutti degli opzioni sono in "Properties"

Ciao,
Dennis M.

Loading