Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    286

    Primo Programma

    Dopo essermi dedicato all'assembler con soddisfacenti risultati ho deciso di incominciare con il C e il C++.
    Debbo dire che l'impresa si rivela al quanto complessa e comprendere questo linguaggio mi giunge come decifrare l'egiziano antico.

    Come in tutte le cose si incomincia per gradi, ecco il mio primo programmino, quello classico per chi deve incominciare:

    codice:
    #include <iostream>
    using namespace std;
    
    int main ()
    
    {
    		cout << "Ciao!" << endl;
    		return 0;
    }
    Ora, la mia finestra con la scritta compare solo per qualche nanosecondo; qualcuno mi saprebbe indicare come fare per poterla contemplare un po' più a lungo?

    Utilizzo il visualstudio.net dell micro, ho tentato di richiamare una sub _asm ma non mi compila un codice che solitamente utilizzo con il turboassembler.

    attendo consigli!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Moderazione

    Ciao, specifica il linguaggio di programmazione anche nel titolo della discussione, come da Regolamento.

    Il titolo di questa discussione lo modifico io.

    Ciao e buon forum!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Probabilmente hai usato un progetto console e quindi Windows apre la console, esegue il tuo programma e al termine, giustamente, chiude la console.

    Hai due soluzioni:

    1) aggiungi prima del return una linea

    system("PAUSE");

    ricordandoti di aggiungere all'inizio anche

    #include <stdlib.h>


    2) attivi una finestra DOS con il comando CMD e fai partire il tuo programma dalla finestra DOS.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    286
    Grandioooso!!! Funge!

    Ho provato entrambi i sistemi, dal prompt del dos e anche aggiungendo
    la funzione "PAUSE" della libreria <stdlib.h>.

    Ho fatto una prova, ho costruito lo stesso programma in assembler (un programma che mi da lo stesso risultato) e poi li ho disassemblati entrambi. Quello costruito con il visualstudio della microsoft mi ha dato un listato di circa 115000 linee (Gulp!!), mentre quello costruito con il turboassembler mi ha dato un listato di circa una quarantina! :master: Non pensavo ci fosse così tanta differenza.

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Con VisualStudio intendi in un progetto C++ con le direttive assembler in modalita' Debug ... ?

    Se da un lato usi TurboAssembler, devi fare il test con MASM, il MacroAssembler di Windows non con Visual Studio ...

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    286
    ...intendevo vedere la differenza tra un disassemblato di un programma scritto in c++ rispetto ad un disassemblato di un programma scritto in asm.

    Sicuramente MASM è più elabotato di TASM, forse anche un po' più lento, ad ogni modo anche con TASM posso scrivere codici 32bit im modalità PE.

    ...o forse per una valutazione più corretta dovrei complilare un codice c++ con un compliatore a 16bit, magari che funziona su dos, quando avrò tempo ci proverò con DJCPP.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Beh ... intanto dovresti lavorare con la configurazione Release, per evitare tutto il codice che aggiunge il compilatore unicamente per la fase di debug e che non e', ovviamente, presente se usi il MASM.

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    286
    Con VisualStudio intendi in un progetto C++ con le direttive assembler in modalita' Debug ... ?
    ha, scusa, intendevo un progetto application console c++ senza direttive assembler. il disassemblato lo ottengo con un disassemblatore a parte.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    286
    ...dovresti lavorare con la configurazione Release
    Ad essere sincero non so come si fa

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Build -> Set Active Configuration -> Release

    e poi, invece di usare il decompilatore, imposta nelle proprietà del progetto, per C++, la generazione del sorgente Assembler corrispondente al tuo programma C e studia direttamente da tale sorgente.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.