intTypePromotion=1

Bài thuyết trình sự khác nhau giữa C++ trong Windows và G++ trong Linux

Chia sẻ: Nguyen Hoang Thien | Ngày: | Loại File: PPT | Số trang:18

0
143
lượt xem
23
download

Bài thuyết trình sự khác nhau giữa C++ trong Windows và G++ trong Linux

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài thuyết trình power point này giúp bạn hiểu thêm được phần nào về sự khác nhau giữa C++ trong HĐH Windows và G++ trong HĐH Linux (Thực ra C++ trong Windows và G++ trong Linux giống nhau đến hơn 90%,chỉ có một số điểm khác nhau cơ bản trong phần biên dịch mà thôi,hi vọng bài này sẽ giúp các bạn hiểu rô hơn về điều này.)

Chủ đề:
Lưu

Nội dung Text: Bài thuyết trình sự khác nhau giữa C++ trong Windows và G++ trong Linux

  1. ĐỒ ÁN NGÔN NGỮ LẬP TRÌNH Group: Hell’s Boy Class: 07 3D TH
  2. Project: Linux C++ programming Nguyễn Hoàng Thiện – 070315T Trịnh Văn Tú – 070335T Võ Minh Thu – 070322T Lê Văn Tuấn – 070370T
  3. Tổng quan: –Giới thiệu sơ lược. –Thư viện lệnh. –Cách viết code,hàm. –Tiến trình biên dịch –Hướng dẫn debug và gỡ lỗi –Trình biên dịch. –Ví dụ đối chiếu.
  4. I - Giới thiệu sơ lược: • Linux là hệ điều hành nguồn mở. Tức là Linux giống như Windows ở chỗ nó là cái nền quản lý mọi thứ khi bạn sử dụng máy tính. Nó quản lý các ứng dụng đang chạy, quản lý những thông tin về người dùng, quản lý dữ liệu trên đĩa cứng… Trình biên dịch C trên Linux chỉ là một phần GCC (GNU Compiler Collection).GCC có thể dùng được với: C, C++,Objective C,Fortran, … Biên dịch C là "gcc" Xem hình Biên dịch C++ là "g++"
  5. • Bộ công cụ phát triển ứng dụng GNU • * GNU Compiler Collection (GCC) • + Thư viện các hàm tiện ích: libc, libstdc++, … • + Các trình biên dịch gcc, g++, gcj, gas, … • + Trình khử lỗi gdb • +Trình tiện ích khác trong binutils như nm, strip, ar, objdump, • ranlib (dùng lệnh info binutils để xem thêm) • + Tiệních: gmake • +…
  6. • Linux • Windows +Phần mền lập trình là +Phần mền lập Trình là G++ (GNU Compiler Visual C++ nằm trong Collection) gói Visual studio. +Để lập trình cần dùng +VC là một chương tới nhiều chương trình trình lập trình mạnh khác như: mẽ giúp lập trình viên -gedit:dùng để viết code. có thể viết code và -terminal:để thực thi sửa lỗi và thực thi chương trình. chường trình ngay Bên cạnh đó bạn phải trong Visual C++. cài gói g++ để chương trình có thể hiểu được. VD0a: Xem Hinh Vd 0b: Xem hinh
  7. Thư viện: cả hai đều có thư viện lệnh chuẩn như: string.h,stdio.h…….. Cách khai báo thư viện: • Windows • Linux #include #include Vd: Xem hình Using namespace std; #include Vd: Xem hình Using namespace std; Trong Linux không sử dụng thư viện lệnh nhưng thay vào đó lại là lệnh
  8. Cách tạo thư viện tĩnh • Giả sử bạn có hai file mã nguồn chứa hàm là a.c và b.c • a.c b.c • int func1(){ double func2(){ • return 7; return 3.14159; • } }
  9. • Tạo thư viện tĩnh tên là libab.a • 1. Biên dịch tạo các file object • $ gcc -c a.c b.c • 2. Dùng lệnh ar để tạo thành thư viện tĩnh tên là libab.a • $ ar cr libab.a a.o b.o • 3. Có thể dùng lệnh nm để xem lại kết quả • $ nm libab.a • 4. Có thể dùng lệnh file để xem file libab.a là loại file gì • $ file libab.a
  10. Thư viện liên kết động • Tạo thư viện liên kết động libab.so từ a.c và b.c • 1. Biên dịch tạo các file object có dùng tùy chọn -fPIC • $ g++ -c -fPIC a.c b.c • 2. Tạo thư viện liên kết động tên là libab.so • $ g++ -shared -fPIC -o libab.so a.o b.o • 3. Có thể dùng lệnh file để xem file libab.so là loại file gì • $ file libab.so
  11. Cách viết thân hàm • Windows • Linux Void main () Int main () Int main () Int main (void) Int main (void) Void main () Main (void) Vd1a: Xem hình Vd1b: Xem hình
  12. • Linux: • Tùy chọn "-c": - Giúp trình biên dịch file và thủ tục tạo một object file (tất nhiên là cả chương trình chạy, cái này là mặc định!). File object có phần mở rộng là ".o" hoặc ".obj". + Ví dụ: ~$ gcc -c -o hello hello.c • Tùy chọn "-o ": là tên mà ta chọn cho file chạy thay cho tên mặc định (tên file mặc định là "a.out").
  13. • Tùy chọn "-O ": - Chỉ dẫn này tạo chương trình với tạm hiểu là thứ tự ưu tiên (hay tối ưu). n = 1, 2, 3. Thông thường dùng là n = 2. • Tùy chọn "-g": - Tạo chương trình và có hiện thông báo lỗi (nếu có).
  14. • Tùy chọn "-I ": - Thêm thư mục đặc biệt (bao gồm cả đường dẫn) để tìm kiếm. Trình biên dịch sẽ tìm trong thư mục đó các file được khai báo đầu file nguồn (chứa code). Mặc định trình biên dịch sẽ search trong /usr/include • Tùy chọn "-L ": - Tìm thư viện (Tương tự -I), mặc định là /usr/lib
  15. • Công cụ dùng biên dịch các chương trình C/C++ • Quá trình biên dịch thành file thực thi gồm 4 giai đoạn theo thứ tự như sau: 1. Preprocessing (tiền xử lý) 2. Compilation (biên dịch) 3. Assembly (hợpdịch) 4. Linking (liên kết) • Ba bước 1, 2, 3 chủ yếulàm việc với một file đầuvào • Bước4 có thể liên kết nhiều object module liên quan để tạo thành file thực thi nhị phân • Lập trình viên có thể can thiệpvào từng bước ở trên
  16. Hướng dẫn debug và gỡ lỗi • Tất cả các phần mềm đều chứa đựng lỗi. Thông thường thì 100 dòng lệnh là có khoảng 2-5 dòng lệnh bị lỗi ( 2-5%). Các lỗi thường gặp được phân loại và sử dụng một số phương pháp chung để loại bỏ chúng như sau: – Lỗi đặc tả. – Lỗi thiết kế. – Lỗi viết mã.
  17. Trình biên dịch. • KDevelop • Anjuta • GNOME • Eclipse là một IDE hỗ trợ lập trình C giao diện graphic trên Linux, giống như VC++ trên Windows.
  18. THE END
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2