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 hiện nay là : Visual Studio , hoạt động rất tốt. Nó rất đầy dủ và có một mô-đun soát lỗi rất hiệu quả. Visual studio chỉ được cung cấp cho hệ điều hành Windows.và gần đây microsoft cũng bắt đầu cập nhập visual studio cho ubutu. Mình sẽ hướng dẫn cài Visual studio cho ubutu sau.
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. mình thì chưa thử dùng qua Mac OS nên trong bài mình sẽ không nhắc về cái này nhé (không biết gì về nó nên không dám phán :) )
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.và Visual studio 2012 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 cài đặt 1 trong 2 nhé nó cũng dựa dựa nhau thôi.
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
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, các bạn chịu khó google nhé mình sẽ cập nhập sau :)
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.
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.
Trong cửa sổ bên trên chúng ta thấy có 4 phần chính (đã được đánh số) :
- 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.
- 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.
- Phần trung tâm : đây là nơi bạn viết code C++
- 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.
- 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).
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).
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).
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).
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 studio (Windows)
* Tải Visual Studio về link : Visual Studio 2012
* Giải nén và chạy file VS_Ultimate để cài đặt
* Chọn đường dẫn và đồng ý với các điều khoản để cài đặt
* Lựa chọn cài các ngôn ngữ ai mà học mỗi C++ thì chọn mỗi C++ thôi còn mặc định sẽ chợn tất cả
* Đợi chương trình cài vào máy tính ( nếu chọn mỗi C++ tầm 10-20 ph còn chọn hết thì hơn 30ph ) có thế nhanh hoặc lâu hơn nhé
* Chọn ngôn ngữ cho lần đầu khởi động
* Giao diện làm việc của Visual Studio 2012
Ok bài sau mình sẽ hướng dẫn các bạn viết chương trình đầu tiên bằng C++
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.
- Chúng ta sẽ chủ yếu sử dụng Code::Blocks trong giáo trình này.
ConversionConversion EmoticonEmoticon Off Topic