Come si inserisce del codice inline asm in un'applicazione?

di Anonimizzato8604 il
12 risposte
Ciao,
Io utilizzo visual Studio 2010. Ho provato a inserire codice assembly in un progetto vuoto C/C++ e va tutto a buon fine, il mio problema è inserire del codice assembly insieme a quello C/C++. Non è permesso inserire codice assembly in una funzione del tipo:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
}
nè e permesso chiamare una procedura scritta in assembly in un file esterno "file.asm", inserito nel progetto.
Qualcuno sa come risolvere il problema?
Grazie in anticipo per qualsialsi aiuto.

12 Risposte

  • 
    private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
    {
    }
    
    Non è C++ ma Managed C++/CLI. Quindi stai sbagliando impostazione IDE di Visual Studio.
    Su VS in un progetto C++ l'inline assembler si mette così:
    
    __asm {codice assembler}
    
  • In Visual Studio posso creare solo quel tipo di applicazione.
  • NON E' VERO. SU C++ hai anche l'opzione Win32. Windows Forms Application/CLR è managed C++ e usa le librerie .NET ma ha poco a che fare con il vero C++. Se la tua versione fosse diversa da Express avresti anche MFC e ATL
  • Quindi nelle applicazioni Managed C++ non è possibile inserire codice assembly?
  • Che io sappia no. Solo nei progetti managed che fanno uso di classi native C++ ma quì sei sempre in unmanaged e lo puoi fare. Per di + Vs2010 non permette di mettere istruzioni assembler a programmi compilati per il x64.
  • Ma in un progetto vuoto Managed C++/CLI posso inserirlo. Comunque come si aggiungono i controlli tipici del .NET application in una C++ application?
  • A quanto pare non hai le idee chiare. Sono due tipi di progetti diversi. Per il .Net si consiglia C# o vb.net. Il Managed C++ è per programmi o dll transitorie che rispechiano una funzione nativa in C++ nel mondo del .Net. A mio avviso non è fatto per fare programmi completi anche se il linguaggio stesso lo permette. Poi qui si parla di C++ nativo quindi di + non so dirti sul .Net.
  • Intendevo inserire controlli come una textbox, un bottone e quant'altro, non quelli in .NET framework.
  • Come cosa centra con il C++, volevo sapere come inserire i controlli, dato che quando creo un progetto C++ Win32, posso visualizzare solo il codice e quando avvio il debug, visualizzo una form... Come posso modificare quella form in fase di progettazione e inserivi dei controlli?
  • Infatti non centra col C++. Tu mi stai chiedendo come posso usare l'IDE e + precisamente l'editor delle risorse. Devi prima imparare come creare una finestra di dialogo che in Visual C++ non si chiama form. Apri l'editor delle risorse e Crea un nuovo dialogo. Al dialogo puoi inserire tutti i controlli che vuoi ma ribbadisco che non è una domanda del C++ ma di utilizzo IDE.
  • Adesso ho capito, grazie mille per la pazienza.
Devi accedere o registrarti per scrivere nel forum
12 risposte