les arguments du compileur PB

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

les arguments du compileur PB

Message par gansta93 »

Slt tlm,

Je voudrais avoir un fichier asm commenté après la compilaiton. Est-ce possible d'avoir le fichier exe ainsi que le fichier asm en passant par les options de compilation et en mettant les arguments /REASM /COMMENTED?
Sinon, suis-je obligé de faire toutes ces lignes de commandes moi-même?

Merci d'avance.
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Message par fweil »

Habituellement j'utilise le pbcompiler /COMMENTED en ouvrant une fenêtre DOS pour un besoin ponctuel.

Pour moi c'est possible de cette manière.

Slts
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Slt,

Merci pour ta réponse.
Mais qq1 sait-il si c'est possible?
julien
Messages : 846
Inscription : ven. 30/janv./2004 15:06
Contact :

Message par julien »

Code : Tout sélectionner



    #Window1 = 1
    #W1Btn1 = 1
    #W1Btn2 = 2
    #W1Text1 = 3
    #W1Option1 = 4
    #W1Option2 = 5
    #W1Check1 = 6
   
    #MV_Checked = 1
    #MV_RunWait =1
    #MV_RunInvisible = 2
    #MV_CreateDll = " /DLL"
    #MV_createAsm = " /COMMENTED"
   
    #Window1Flags = #PB_Window_ScreenCentered | #PB_Window_SystemMenu

;- Variables definition

    DefType.s SourceFileName, DestFileName, CompilFlag, CompilerPath, Compiler, Parameter
    DefType.l RunOption

;-Program Start

    ;Check Program Parameter the Source File
    SourceFileName = ProgramParameter()

    If SourceFileName = ""       ;If not running as PB Tool request Pb File
        SourceFileName = OpenFileRequester("PBasic Source File", "", "PBasic file |*.pb", 0 )

        If SourceFileName = ""
            MessageRequester("Compiler", "Source non trouvée !", #PB_MessageRequester_Ok | #MB_ICONINFORMATION)
            End
        EndIf
    EndIf


    If OpenWindow( #Window1, 0,0,390,137, #Window1Flags,"Compiler le fichier...")

        If CreateGadgetList(WindowID(1))
            ButtonGadget(#W1Btn1,300,110 ,89,25,"Quitter")
            ButtonGadget(#W1Btn2,210,110 ,89,25,"Créer")
            TextGadget(#W1Text1,10,10 ,381,17,"Fichier source:")
            OptionGadget(#W1Option1,240,40 ,153,25,"Créer une DLL")
            OptionGadget(#W1Option2,240,70 ,153,25,"Créer un fichier ASM")
            CheckBoxGadget(#W1Check1,10,110,153,25,"Voir le compilateur")
        EndIf

        SetGadgetText(#W1Text1,"Source File: " + SourceFileName)
  
        RunOption = #MV_RunInvisible | #MV_RunWait


        Repeat
            Delay(1)
            EventID.l = WaitWindowEvent()

            Select EventID

                Case #PB_EventGadget

                    Select EventGadgetID()
                        Case #W1Btn1                ;Quit Button
                            CloseWindow(#Window1)
                            End
                       
                        Case #W1Btn2                ;Create Button
                            If Len(CompilFlag) > 0
                           
                                DeleteFile(DestFileName)                                        ;Delete the old file
                                CompilerPath = "C:\Program Files\PureBasic\Compilers"           ; Your CompilerPath here !!
                                Compiler = CompilerPath + "\PbCompiler.exe"                     ; The PB Compiler !!
                                Parameter = Chr(34) + SourceFileName + Chr(34) + CompilFlag
                                RunProgram(compiler , Parameter, CompilerPath, RunOption)
                       
                                Select CompilFlag
                                    Case #MV_CreateDll
                                        CopyFile(CompilerPath + "\purebasic.dll", DestFileName)
                                    Case #MV_CreateAsm
                                        CopyFile(CompilerPath + "\purebasic.asm", DestFileName)
                                EndSelect
                           
                                If ExamineDirectory(0,GetPathPart(DestFileName),GetFilePart(DestFileName))
                                    If NextDirectoryEntry() = 1
                                        MessageRequester("Compile TO ...", DestFileName + " has been created!", #PB_MessageRequester_Ok | #MB_ICONINFORMATION)
                                    Else
                                        MessageRequester("Compile TO ...", "Creation of " + DestFileName + " failled!", #PB_MessageRequester_Ok | #MB_ICONINFORMATION)
                                    EndIf
                                EndIf
                           
                            Else
                                MessageRequester("Compile TO ...", "Please select a file type before", #PB_MessageRequester_Ok | #MB_ICONINFORMATION)   
                            EndIf

                        Case #W1Option1             ;Dll option checked
                            If GetGadgetState(#W1Option1) = #MV_Checked
                                CompilFlag = #MV_CreateDll
                                DestFileName = Left(SourceFileName,Len(SourceFileName) - 3) + ".dll"
                            EndIf

                        Case #W1Option2             ;Asm option checked
                            If GetGadgetState(#W1Option2) = #MV_Checked
                                CompilFlag = #MV_CreateAsm
                                DestFileName = Left(SourceFileName,Len(SourceFileName) - 3) + ".asm"
                            EndIf
                       
                        Case #W1Check1              ;Compiler Run Mode
                            If GetGadgetState(#W1Check1) = #MV_Checked
                                RunOption = #MV_RunWait
                            Else
                                RunOption = #MV_RunInvisible | #MV_RunWait
                            EndIf

                    EndSelect

                Case #WM_LBUTTONUP     ;----LEFT BUTTON UP
   
                Case #WM_LBUTTONDOWN   ;----LEFT BUTTON DOWN

                Case #WM_MOUSEMOVE     ;----MOUSE MOVE

            EndSelect

        Until EventID = #PB_EventCloseWindow

    EndIf
End
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Question déjà posée plusieurs fois.

Marc Vitry a mis à disposition un code pour faire ça

Le message est ici

http://purebasic.hmt-forum.com/viewtopic.php?t=198
Répondre