Trang 2 trên tổng số 2 Đầu tiênĐầu tiên 12
Từ 11 tới 16 trên tổng số 16 kết quả

Đề tài: Biên dịch source code c/c++ bằng Command Line

  1. #11
    Ngày gia nhập
    09 2016
    Bài viết
    1,009

    Mặc định Biên dịch source code c/c++ bằng Command Line

    Cũng như c, pascal là một họ ngôn ngữ, là sp của nhiều tổ chức, tập đoàn khác nhau và dùng cho các HDH khác nhau.

    Trong delphi có chỉ thị (directive) để định hướng : cdecl, stdcall, safecall OR pascal, register
    - pascal, register là left2right
    - cdecl, stdcall, safecall làm ngược lại right2left

    Phọt mô xa 2016

  2. #12
    Ngày gia nhập
    09 2016
    Bài viết
    1,009

    Sử dụng cl, link hay nMake cho Vc++ nó cũng khó khăn với nhiều lập trình nước (LTV - programmer) ta.

    Khi làm việc với IDE (Integrated Development Environment - môi trường tích hợp viết/dịch/thử code) nó sẽ sinh ra các file abc.sln, abK.xyProj.

    Dùng msBuild.exe như đã đề cập mở file solution / project sẽ dịch dễ dàng hơn, nhanh hơn : không nhất thiết phải mở lại IDE.

    Phọt mô xa 2016

  3. #13
    Ngày gia nhập
    09 2016
    Bài viết
    1,009

    Như trên, thay vì mở vs IDE để biên dịch, tôi cấu hình regedit / registry cho phép mở abK.vcproj từ WE
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		_MsBuild.jpg
Lần xem:	2
Size:		38.5 KB
ID:		50938

    Phọt mô xa 2016

  4. #14
    Ngày gia nhập
    08 2017
    Bài viết
    3,078

    Log file thật sinh ra khi biên dịch mã nguồn TTSApp (c++)

    HTML Code:
    1. <pre>
    2. <h1>Build Log</h1>
    3. <h3>
    4. --------------------Configuration: TTSApp - Win32 Debug--------------------
    5. </h3>
    6. <h3>Command Lines</h3>
    7. Creating command line "rc.exe /l 0x409 /fo"Debug/ttsapp.res" /i "E:\program files\Microsoft Speech SDK 5.1\Include" /d "_DEBUG" "F:\_Works\Yr2018\_TTS\TTSApp10\ttsapp.rc""
    8. Creating temporary file "C:\Users\Hien\AppData\Local\Temp\RSP1CA9.tmp" with contents
    9. [
    10. /nologo /MLd /W3 /Gm /GX /ZI /Od /I "..\..\..\include" /I "..\..\..\..\..\sdk\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D _WIN32_WINNT=0x0500 /FR"Debug/" /Fp"Debug/ttsapp.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
    11. "F:\_Works\Yr2018\_TTS\TTSApp10\childwin.cpp"
    12. "F:\_Works\Yr2018\_TTS\TTSApp10\dlgmain.cpp"
    13. "F:\_Works\Yr2018\_TTS\TTSApp10\globals.cpp"
    14. "F:\_Works\Yr2018\_TTS\TTSApp10\winmain.cpp"
    15. ]
    16. Creating command line "cl.exe @C:\Users\Hien\AppData\Local\Temp\RSP1CA9.tmp"
    17. Creating temporary file "C:\Users\Hien\AppData\Local\Temp\RSP1CAA.tmp" with contents
    18. [
    19. comctl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /incremental:yes /pdb:"Debug/ttsapp.pdb" /debug /machine:I386 /out:"Debug/ttsapp.exe" /pdbtype:sept /libpath:"..\..\..\lib\i386" /libpath:"..\..\..\..\..\sdk\lib\i386"
    20. .\Debug\childwin.obj
    21. .\Debug\dlgmain.obj
    22. .\Debug\globals.obj
    23. .\Debug\winmain.obj
    24. .\Debug\ttsapp.res
    25. ]
    26. Creating command line "link.exe @C:\Users\Hien\AppData\Local\Temp\RSP1CAA.tmp"
    27. <h3>Output Window</h3>
    28. Compiling resources...
    29. Compiling...
    30. childwin.cpp
    31. dlgmain.cpp
    32. globals.cpp
    33. winmain.cpp
    34. Linking...
    35.  
    36. <h3>Results</h3>
    37. ttsapp.exe - 0 error(s), 0 warning(s)
    38. </pre>
    39. </body>
    40. </html>

    dựa vào nó có thể viết batch script để biên dịch.

    Thích thì xem (#10) thêm ở:
    http://diendan.congdongcviet.com/threads/t385343::so-sanh-mot-so-ide.cpp

  5. #15
    Ngày gia nhập
    08 2017
    Bài viết
    3,078

    c/c++ là trình biên dịch nhiều pha.
    Nó có thể sinh ra những file đích khác nhau, ví dụ
    Code:
                                  -PREPROCESSOR-
     
    /AI<dir> add to assembly search path    /FU<file> forced using assembly/module
    /C don't strip comments                 /D<name>{=|#}<text> define macro
    /E preprocess to stdout                 /EP preprocess to stdout, no #line
    /P preprocess to file                   /Fx merge injected code to file
    /FI<file> name forced include file      /U<name> remove predefined macro
    /u remove all predefined macros         /I<dir> add to include search path
    /X ignore "standard places"
    ...

  6. #16
    Ngày gia nhập
    08 2017
    Bài viết
    3,078

    Mặc định Biên dịch source code c/c++ bằng Command Line

    Ví dụ cho #15 ở trên
    C++ Code:
    1. //#include <iostream>
    2. using namespace std;
    3.  
    4. //Byte order mark UTF-8 / UTF-16 LE
    5. //#define ARR char ar[] = "\xFF\xFE"
    6.  
    7. #define ARR char ar[] = "\xEF\xBB\xBF"
    8.  
    9. ARR;
    10. void Scop(){
    11.     ARR;
    12.     cout << "\n\n + in Scop: " << ar;
    13. }
    14.  
    15. void Call(){
    16.     ARR;
    17.     cout << "\n\n + in Call: " << ar;
    18. }
    19.  
    20. int main(){
    21.     cout << "=== Tiếng Việt cho i tờ, Start ===";
    22.     // biến đặt ở toàn cục
    23.     Scop();
    24.     // biến khai báo trong hàm con
    25.     Call();
    26.     // biến khai báo trong hàm chính
    27.     ARR;
    28.     cout << "\n\n + in main: " << ar;
    29.     //
    30.     cout << "\n\n=== Tiếng Việt cho i tờ, Ended ===\n";
    31. }
    Commen dòng #1, để tránh nó chèn làm rối - diễn tả ở đây.
    Biên dịch:
    cl /nologo /C /EP /P var3.cpp /Fi"pVar3.c"

    Kết quả:
    C++ Code:
    1.  
    2. //#include <iostream>
    3. using namespace std;
    4.  
    5. //Byte order mark UTF-8 / UTF-16 LE
    6. //#define ARR char ar[] = "\xFF\xFE"
    7.  
    8.  
    9.  
    10. char ar[] = "\xEF\xBB\xBF";
    11. void Scop(){
    12.     char ar[] = "\xEF\xBB\xBF";
    13.     cout << "\n\n + in Scop: " << ar;
    14. }
    15.  
    16. void Call(){
    17.     char ar[] = "\xEF\xBB\xBF";
    18.     cout << "\n\n + in Call: " << ar;
    19. }
    20.  
    21. int main(){
    22.     cout << "=== Ti?ng Vi?t cho i t?, Start ===";
    23.     // biến đặt ở toàn cục
    24.     Scop();
    25.     // biến khai báo trong hàm con
    26.     Call();
    27.     // biến khai báo trong hàm chính
    28.     char ar[] = "\xEF\xBB\xBF";
    29.     cout << "\n\n + in main: " << ar;
    30.     //
    31.     cout << "\n\n=== Ti?ng Vi?t cho i t?, Ended ===\n";
    32. }

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn