1.2. Các phần mềm cần thiết cho việc lập trình

Sau khi chúng ta đã hiểu thêm một chút về C++, chúng ta có thể bắt đầu thực hành ?

Câu trả lời là bạn chưa thể lập trình chừng nào bạn chưa có các phần mềm cần thiết. Bạn cần phải cài đặt một số phần mềm chuyên biệt để lập trình C++. Trong chương này, chúng ta sẽ cùng nghiên cứu cài đặt và sử dụng chúng.

Bạn hãy cố kiên nhẫn thêm một chút, chỉ ngay chương sau chúng ta sẽ có thể thực sự bắt đầu lập trình.

Các công cụ cần thiết cho lập trình viên

Theo bạn chúng ta cần những công cụ nào ? Nếu bạn đã đọc kĩ chương trước, bạn hẳn đã biết một trong số các công cụ đó. Bạn có đoán ra thứ mà tôi đang nói tới ?

Phải, đó là trình dịch (compiler) , chương trình giúp dịch ngôn ngữ C++ của bạn sang ngôn ngữ nhị phân. Có rất nhiều chương trình như vậy dành cho C++.  Tuy vậy chúng ta sẽ thấy viêc lựa chọn compiler không quá phức tạp trong trường hợp của chúng ta.

Vậy còn gì nữa ? Chúng tôi sẽ không để bạn phải đoán mò thêm nữa. Sau đây là danh sách tối giản các công cụ mà một lập trình viên cần có :

  • Một trình soạn thảo : để viết mã nguồn của chương trình bằng C++. Về lí thuyết, một phần mềm như Bloc-Notes trong Windows hay vi trong Linux có thể làm được điều đó. Trên thực tế, sẽ tốt hơn nếu bạn có một trình soạn thảo thông minh có khả năng tô màu các thành phần khác nhau của mã nguồn mà bạn viết, giúp bạn nhận diện chúng dễ dàng hơn. Đây là lí do mà không lập trình viên « bình thường » nào sử dùng Bloc-Notes.
  • Một compiler (trình dịch). Dể dịch mã nguồn của bạn sang hệ nhị phân.
  • Một debugger (trình soát lỗi) giúp bạn tìm ra lỗi trong chương trình (không may là con người chưa phát minh ra trình sửa lỗi để có thể tự động sửa các lỗi sai này.)

Sự thực là, nếu bạn là một người có khả năng bẩm sinh về lập trình, có thể bạn sẽ không cần đến trình soát lỗi… Được rồi, tôi biết là chỉ 5 phút sau bạn sẽ quay lại hỏi tôi bạn có thể tìm ở đâu một trình soát lỗi hoạt động tốt.

Kể từ bây giờ chúng ta sẽ có 2 lựa chọn :

  • Một là chúng ta sẽ tải mỗi công cụ một cách riêng rẽ. Cách này khá phức tạp, nhưng bạn vẫn có thể thử. Đặc biệt với Linux, rất nhiều lập trình viên lựa chọn 3 công cụ một cách riêng rẽ. Chúng tôi sẽ không viết chi tiết cách làm này ở đây. Thay vào đó chúng tôi sẽ giới thiệu với bạn cách thử 2 đơn giản hơn.
  • Lựa chọn thứ hai dành cho bạn : dùng một chương  trình « 3 trong 1 » (đúng thế, giống như nước giặt tổng hợp vậy). Chương trình này bao gồm cả trình soạn thảo, trình dịch và trình soát lỗi. Nó có tên gọi là IDE (integreted development environment), dịch nôm na là môi trường phát triển tích hợp.

Có rất nhiều môi trường phát triển khác nhau. Ban đầu, bạn có thể sẽ gặp khó khăn trong việc lựa chọn môi trường phát triển khiến bạn hài lòng. Dù thế nào đi nữa thì có một điều chắc chắn là : bạn có thể tạo ra bất cứ loại chương trình nào với bất cứ môi trường phát triển tích hợp nào mà bạn lựa chọn.

Projects (dự án)

Khi bạn xây dựng một chương trình, bạn đang làm việc với một project. Một project được tạo nên bởi nhiều file code : file .cpp, .h, các hình ảnh của chương trình, …

Vai trò của một IDE là tập hợp tất các các file của đề án tại một giao diện. Chính nhờ thế mà bạn có thể truy cập đến tất cả các phần khác nhau của đề án thông qua một cú kích chuột.

Đây là lí do vì sao khi bạn muốn tạo một chương trình mới, bạn cần yêu cầu IDE chuẩn bị cho bạn một « new project ».

Lựa chọn IDE  cho bạn

Tôi sẽ giới thiệu cho bạn một vài IDE trong số những IDE được biết đến nhiều nhất. Tất cả đều miễn phí. Cá nhân tôi sử dụng tất cả trong số chúng, tùy hoàn cảnh mà tôi lựa chọn một trong số chúng.

Một trong số các IDE mà tôi yêu thích là Code ::Blocks. Nó hoàn toàn miễn phí và được xây dựng cho hầu hết các hệ điều hành. Tôi khuyên bạn sử dụng phần mềm này khi mới bắt đầu học lập trình (và thậm chí cả về sau nếu như bạn cảm thấy phần mềm này phù hợp với bạn). Code ::Blocks hoạt dộng được với Windows, Mac và Linux.

IDE nổi tiếng nhất trong Windows, phát triển bởi Microsoft :  Visual C++. Phiên bản gốc là phiên bản phải trả tiền để sử dụng (và khá đắt), may măn thay bạn có thể tìm thấy phiên bản miễn phí có tên Visual C++ Express, hoạt động rất tốt và có rất ít khác biệt so với phiên bản trả tiền. Nó rất đầy dủ và có một mô-đun soát lỗi rất hiệu quả. Visual C++ (và Visual C++ Express) chỉ được cung cấp cho hệ điều hành Windows.

Trên Mac OS X, bạn có thể sử dụng XCode, thông thường được cung cấp trong CD cài đặt Mac OS X. Đây là một IDE rất được ưu chuộng bởi những lập trình viên Mac. XCode chỉ hoạt động được với  Mac OS X.

Lưu ý đối với ngưởi dùng Linux : Tồn tại rất nhiều IDE cho Linux, tuy nhiên các lập trình viên dày dạn kinh nghiệm thường lựa chọn việc biên dịch chương trình « bằng tay » thay vì sử dụng IDE. Điều này tất nhiên sẽ khó hơn một chút. Bạn sẽ được học nó ở phần sau. Trước mắt, chúng ta sẽ bắt đầu bằng việc sử dụng một IDE. Nếu bạn sử dụng Linux, tôi khuyên bạn cái đặt Code ::Blocks để có thể dễ dàng theo được các giải thích của tôi.

Bạn cũng có thể tham khảo Eclipse cho người lập trình C/C++, rất mạnh và không chỉ dành cho việc lập trình Java như nhiều người vẫn nghĩ.

IDE nào tốt nhất ?

Tất cả các IDE đều cho phép bạn lập trình và cho phép bạn theo được phần còn lại của giáo trình không một chút khó khăn. Một số  IDE cung cấp các options đầy đủ hơn,  nhưng trong mọi trường hợp thì chương trình mà bạn tạo ra sẽ đều như nhau bất kể IDE mà bạn sử dụng. Vì thế việc lựa chọn IDE không quá quan trọng như người ta thường nghĩ.

Xuyên suốt giáo trình này, tôi sẽ sử dụng Code ::Blocks. Nếu bạn muốn có những ảnh màn hình giống như tôi, nhất là khi mới bắt đầu học để khỏi bỡ ngỡ, tôi khuyên bạn bắt đầu bằng việ cài đặt Code ::Blocks.

Code ::Blocks (Windows, Mac OS, Linux)

Code ::Block là một IDE miễn phí, được cung cấp cho Windows, Mac và Linux.  Hiện tại nó chỉ có phiên bản tiếng anh. Điều này có lẽ sẽ không khiến bạn gặp phải phiền toái gì khi sử dụng bởi vì chúng ta sẽ rất ít khi phải sử dụng các menus.

Tuy vậy bạn cũng cần biết trong khi lập trình, chắc chắn bạn sẽ phải thường xuyên đọc các docs (tài liệu) bằng tiếng anh. Đó là một trong những lí do mà bạn nên trau dồi khả năng tiếng anh của mình.

Tải Code ::Blocks

Vào trang tải Code ::Blocks

Nếu bạn dùng Windows, hãy chuyển đến mục « Windows » ở phía dưới. Tải phần mềm bằng cách chọn chương trình mà tên có chứa «mingw » (ví dụ : codeblocks-10.05mingw-setup.exe). Phiên bản còn lại không có trình dịch, bạn sẽ gặp khó khăn trong việc biên dịch chương trình.

Nếu bạn dùng Linux, tốt hơn hết là tải Code ::Blocks thông qua dépôts (ví dụ như lệnh apt-get trong Ubuntu). Bạn cũng cần cài đặt trình dịch : đó là package buil-esential. Để cài đặt trình dịch và IDE Code ::Blocks, bạn cần nhập câu lệnh sau :

apt-get install build-essential codeblocks

Cuối cùng, nếu bạn dùng Mac, hãy chọn file mới nhất trong list.

Tôi muốn nhấn mạnh thêm rằng : nếu bạn dùng Windows, hãy tải phiên bản chương trình mà tên chứa « mingw » (hình bên dưới). Nếu bạn chọn nhầm phiên bản, bạn sẽ không thể dịch chương trình.

mingw

Việc cài đặt rất đơn giản và nhanh chóng. Hãy để tất cả các option mặc định và chạy chương trình.

Code Block

Trong cửa sổ bên trên chúng ta thấy có 4 phần chính (đã được đánh số) :

  1. Thanh công cụ : nó bao gồm rất nhiều nút, nhưng chỉ một số chúng sẽ được sử dụng thường xuyên. Tôi sẽ nói chi tiết và chúng sau.
  2. Danh sách các tệp (file) của project : dánh sách các file nguồn của chương trình của bạn được hiển thị ở bên trái. Bạn hãy nhớ rằng, trong ảnh chụp màn hình bên trên, chưa có một project nào được khởi tạo : vì thế chúng ta không nhìn thấy file ở trong danh sách. Bạn sẽ được thấy danh sách các file này được lấp kín chỉ trong 5 phút ở phần sau của giáo trình.
  3. Phần trung tâm : đây là nơi bạn viết code C++
  4. Phần thông báo : cũng được gọi là «vùng chết », đây là nơi bạn nhìn thấy các lỗi dịch chương trình được hiển thị nếu đoạn code của bạn có lỗi. Điều này sẽ xảy ra thường xuyên.

Bây giờ chúng ta hãy cùng tìm hiểu một phần đặc biệt trong thanh công cụ. Bạn sẽ thấy các nút sau theo thứ tự trên thanh công cụ : Build, Run, Build and Run , Rebuild (hình bên dưới). Hãy nhớ rằng, chúng ta sẽ sử dụng chúng thường xuyên.

code block icon

  • Build : Tất cả các tệp nguồn của project của bạn được gửi đến trình dịch. Nếu có lỗi (điều này rất thường xuyên xảy ra), chương trình sẽ không thể chạy được và bạn sẽ được báo lỗi ở phía dưới của Code ::Blocks.
  • Run : icon này chỉ chạy phần cuối cùng mà bạn đã dịch. Điều này giúp bạn test chương trình của bạn và xem nó sẽ cho ra kết quả gì. Theo trình tự, nếu bạn tuân thủ, chúng ta đầu tiên phải compiler, sau đó executer phần mã nhị phân để test. Chúng ta cũng có thể sử dụng nút thứ 3…
  • Build and Run : Không cần phải là một thiên tài để hiểu được đây là sự kết hợp của hai nút trên. Đây cũng sẽ là nút bạn sử dụng nhiều nhất.  Bạn cần lưu ý rằng nều xảy ra lỗi trong quá trình dịch,  chương trình sẽ không thể chạy. Thay vào đó, bạn sẽ có một danh sách các lỗi để sửa.
  • Rebuild : khi bạn chọn compiler, code ::blocks chỉ dịch lại các tệp đã bị thay đổi kể từ sau lần dịch trước đó. Thỉnh thoảng (tôi muốn nhấn mạnh chỉ là thỉnh thoảng) bạn cần yêu cầu Code ::Blocs dịch lại tất cả các tệp. Chúng ta sẽ tìm hiểu ở phần sau khi nào chúng ta cần sử dụng nút này và chúng ta sẽ cùng nghiên cứu chi tiết việc biên dịch diễn ra như thế nào vào ở một chương sắp tới. Hiện tại, chúng ta chỉ cần học một ít kiến thức cần thiết căn bản để không nhầm lẫn các thứ với nhau.  Nút này trước mắt sẽ không cần thiết với bạn.

Tôi khuyên bạn sử dụng các phím tắt thay vì kích các nút, bởi vì đây là cách mà những người lập trình thường xuyên sử dụng. Bạn hãy đặc biệt ghi nhớ là bạn phải ấn F9 để dịch và chạy chương trình.

Tạo một project mới

Để tạo một project mới, rất đơn giản : bạn hãy chọn File>New> Project. Trong cửa sổ được hiển thị, bạn hãy chọn Console application (hình bên dưới).

Tạo project

Như bạn có thể thấy, Code ::Blocks đề xuất thực hiện rất nhiều loại chương trình khác nhau, sử dụng các thư viện nổi tiếng như SDL(2D), OpenGL(3D), Qt và wxWidgets (cửa sổ)… Trước mắt, các icons này chỉ có tác dụng trang trí bởi vì các thư viện này chưa được cài đặt cho máy tính của bạn. Vì vậy bạn chưa thể sử dụng chúng.

Chúng ta sẽ cùng khám phá các kiểu chương trình khác sau. Trong lúc chờ đợi, bạn hãy làm quen với Console vì bạn chưa đạt đến trình độ cần thiết để tạo ra các loại chương trình khác.

Ấn vào Go để tạo một project. Một cửa sổ sẽ mở ra.

Bạn có thể bỏ qua trang đầu tiên. Hãy ấn Next.

Bạn được yêu cầu chọn giữa C và C++. Hãy chọn C++ (hình bên dưới).

Tùy chỉnh project

Bạn được yêu cầu nhập tên của project và thư mục mà bạn muốn lưu các tệp nguồn (hình bên dưới).

Tùy chỉnh project

Cuối cùng, trang cuối cho phép bạn chọn cách mà chương trình sẽ được biên dịch. Bạn có thể để các option mặc định, điều này sẽ không gây trở ngại gì cho chúng ta vào lúc này. (lưu ý là ít nhất hai option debug và release được tích).

Tùy chỉnh project

Bạn hãy ấn Finish để hoàn tất ! Code ::Blocks tạo cho bạn một Project đã chứa một chút mã nguồn.

Trong bản bên trái có tên Projects, bạn có thể xem các tiểu mục bằng cách kích vào dấu  + để hiện danh sách các tệp của project. Bạn sẽ có ít nhất một tệp main.cpp mà bạn có thể mở bằng cách kích đúp vào tệp đó.

Visual C++ (chỉ cho Windows)
Nhắc lại một chút về C++ :

Đó là IDE của Microsoft. Visual C++ là phiên bản phải trả tiền, nhưng Microsoft đã cho ra một phiên bản miễn phí có tên Visual C++ Express. Ở đây chúng ta sẽ nói tới phiên bản miễn phí, Visual C++ Express (hình bên dưới). *Lưu ý: Những hình ảnh bên dưới là tôi đang sử dụng VIsual C++ Express phiên bản tiếng pháp

visualc

Các điểm khác so với phiên bản Visual gốc ?

Phiên bản miễn phí không có trình biên tập tài nguyên (Ressource Editor) (cho phép bạn tạo các hình ảnh, các biểu tượng hay cửa sổ).

Nhưng không sao, dù sao chúng ta cũng sẽ không cần dùng đến chúng trong giáo trình này. Chúng không phải là những tính năng bắt buộc cần có.

Trang web của Visual C++ Express Edition

Cài đặt 

Chương trình cài đặt sẽ tải phiên bản Visual mới nhất từ internet. Tôi khuyên bạn nên để các options mặc định.

Ở cuối giai đoạn cài đặt, bạn sẽ được yêu cầu bạn lưu trữ trong 30 ngày. Đừng lo lắng, việc đãng kí là miễn phí và diễn ra khá nhanh, nhưng bạn cần phải làm nó.

Kích vào link bạn nhận được : bạn sẽ đến trang của Microsof. Hãy đăng nhập bằng tài khoản Windows Live ID của bạn (tương đương với tại khoản Hotmail hay MSN) hoặc đăng kí một tài khoản mới nếu bạn chưa có, sau đó trả lời các câu hỏi.

Cuối cùng, bạn sẽ được cung cấp một đoạn mã để lưu trữ. Bạn phải cóp đoạn mã này vào menu ?> Register product.

Tạo một project mới

Để tạo một project mới ở Visual, bạn hãy vào menu File New>Project. CHọn win32 trong bảng bên trái sau đó chọn Application console win32 ở bên phải.

Nhập tên cho project của bạn, ví dụ như «test ».

visualc

Hoàn tất. Một cửa sổ mới xuất hiện.

 Tùy chỉnh visualc

Cửa sổ này không để làm gì cả. Ngược lại, hãy kích vào Application Parameters trong bảng bên trái.

Tùy chỉnh visualc

Bạn phải đảm bảo rằng option Empty Project được chọn giống như hình trên. Sau đó kích vào Finish.

Thêm một File nguồn mới

Hiện tại project của bạn chưa có gì. KÍch đúp chuột phải vào thư mục Source Files nằm ở bảng bên trái sau đó vào Add -> New element

Thêm file visualc

Một cửa sổ hiện ra. Chọn File C++ (.cpp). Nhập tên “main.cpp” cho file của bạn.

Thêm file visualc

Kích vào Add. Tốt rồi, giờ bạn có thể bắt đầu viết code.

Cửa sổ chính của Visual

Hãy cùng xem nội dung của cửa sổ chính trong Visual C++ Express. Chắc hẳn bạn sẽ muốn biết công dụng của mỗi phần trong cửa sổ này

visualc

  1. Thanh công cụ : Tất cả những thứ cơ bản nhất. Mở, Lưu, Lưu tất cả, Cắt, Sao chép, Dán, … Mặc định, thanh công cụ không có nút compiler để biên dịch chương trình. Bạn có thể thêm nút này bằng cách kích phải vào thanh công cụ rồi chọn Debug and Generate trong danh sách. Tất cả các biểu tượng biên dịch (Compilation) đều có tương ứng trong các menus Generate and Debug. Nếu bạn chọn Generate, nó sẽ tạo ra file thực thi (executable file) (nghĩa là “Biên dịch” với Visual). Nếu bạn chọn Debug/Execute, bạn sẽ được đề nghị biên dịch trước khi chạy chương trình. Phím F7 cho phép khởi tạo project và F5 để chạy nó.
  2. Dánh sách các file của project : Trong vùng này, bạn nhìn thấy dánh sách các file của project. Kích vào Solutions Explorer, ở bên dưới, nếu nó chưa được chọn. Bạn sẽ thấy Visual đã tạo các thư mục để phân chia các loại file khác nhau trong project của bạn (sources, header và ressources). Sau này chúng ta sẽ được tìm hiểu sự khác nhau giũa các loại file cấu thành nên project.
  3. Vùng trung tâm : đây là nơi chúng ta sửa đổi các file nguồn.
  4. Vùng thông báo : đây là “vùng chết”, nơi mà chúng ta thấy xuất hiện tất cả các lỗi biên dịch. ở phần dưới của màn hình, Visual hiển thị các thông tin debug khi bạn tìm cách sửa chương trình. Tôi đã nói với bạn ở trên là tôi rất yêu thích trình soát lỗi của Visual và tôi  nghĩ tôi không phải người duy nhất nghĩ vậy.

Được rồi, vậy là chúng ta vừa xem xét một lượt về Visual C++. Bạn cũng có thể nhìn qua các options (Tools > Options) nếu muốn, nhưng đừng dành ra 3 giờ đồng hồ để làm điều này. Có rất nhiêu ô để tích ở khắp nơi, điều này sẽ khiến bạn bị rối.

Xcode (chỉ dành cho MacOS)

Có rất nhiều IDE dánh cho Mac. Tất nhiên trong số đó có Code::Blocks, nhưng nó không phải IDE duy nhất. Tôi sẽ giới thiệu với bạn IDE nổi tiếng nhất trên Mac: Xcode.

Xcode, mày ở đâu?

Không phải người dùng MacOS nào cũng là lập trình viên. Apple hiểu rõ điều đó, vì thế không cài đặt IDE mặc định cho MacOS.

May thay, với những ai muốn lập trình, tất cả đã được tính toán trước. Bạn có thể tìm thấy Xcode trong đĩa cài MacOS.

Trước tiên bạn hãy cho đĩa vào ổ. Để cài Xcode, bạn cần mở package Xcode Tools trong thư mục installation facultative của đĩa cài. Việc cài đặt sẽ được bắt đầu (hình dưới).

Cài đặt XCode

Tôi khuyên bạn nên chọn trang web dánh cho lập trình viên của Apple làm favorite page. Bạn sẽ tìm thấy ở đó rất nhiều thông tin hữu ích để lập trình trên Mac. Bạn cũng có thể tải ở đó rất nhiều phần mềm để lập trình.

Bạn cũng nên đăng kí ở ADC (Apple Development Connection), việc này hoàn toàn miễn phí và bạn sẽ được cập nhất các thông tin mới.

Chạy Xcode

Ứng dụng Xcode nằm ở /Developper/Application/ (hình dưới).

XCode

Project mới

Để tạo một project mới, bạn hãy kích vào Create a new Xcode, hoặc File> New project. Bạn hãy chọn type Command Line Tool và chọn C++ sdtc++ trong menu nhỏ (hình dưới).

XCode

Ngay khi Project được tạo ra, cửa sổ chính của Xcode sẽ xuất hiện (hình dưới).

XCode

File sdz-test (icon màu đen) là file thực thi và file sdz-test.1 là một file dữ liệu. File main.cpp chứa mã nguồn của trương trình. Bạn có thể kích đúp vào file này để mở nó.

Bạn có thể thêm các file C++ vào project thông qu menu File>New File

Biên dịch

Trước khi biên dịch, bạn cần thay đổi một thiết lập trong references của Xcode. Trong phần Debugging, chọn Show console trong danh sách On start. Thao tác này rất cần thiết để có thể hiển thị kết quả của chương trình lên giao diện điều khiển (console) (xem hình dưới).

XCode

! Thao tác này, bạn chỉ cần làm một lần duy nhất

Để biên dịch, chúng ta sẽ kích vào nút Build and Run (hình cái búa với một icon nhỏ màu xanh lá cây ở phía trước) trong của sổ của project. Cửa sổ console sẽ được hiển thị (hình dưới).

Được rồi, vậy là từ giờ bạn đã biết các thao tác cơ bản dể tạo một project C++ và biên dịch nó với Xcode.

Tóm tắt bài hoc :
  • Một IDE là một công cụ tất cả trong một giúp các lập trình viên tạo các chương trình.
  • Một IDE bao gồm một trình soạn thảo, một trình dịch và một trình soát lỗi.
  • Code::Blocks, Visual C++ và Xcode là những IDE nổi tiếng nhất để lập trình C++.
  • Chúng ta sẽ chủ yếu sử dụng Code::Blocks trong giáo trình này.