bloodplanet
Wh------
-
21/03/2015
-
7
-
51 bài viết
C, C++ cho Virus (Phần 2): Hello World
Xin chào tất cả các bạn, phần 1 mình đã nói sơ qua tổng quan về C/C++ cho virus và trình biên dịch ngôn ngữ lập trình Code Blocks. Các bạn có thể xem phần 1 tại đây.
Còn đây là nội dung phần 2:
1. Học cách tạo 1 project trong Code Blocks:
Trước khi chúng ta bắt đầu và biên dịch đoạn mã (code) thì trước tiên chúng ta cần tạo một project để chương trình có thể quản lý code của bạn.
Cách tạo 1 project mới:
- Mở chương trình Code Blocks. Ở phía bên trái trên cùng ta chọn: File > New > Project. Một trình thuật sĩ (wizard) sẽ hiện ra như sau:
- Tiếp theo chúng ta sẽ chọn Console application để có thể nhìn được đầu ra (output) của các lệnh (command) của mình. Tiếp theo chọn Go. Sau đó chương trình sẽ hiện ra một màn hình chào như sau:
- Chọn Next. Sau đó sẽ đến cửa sổ hỏi chọn C hay C++. Ở đây chúng ta sẽ chọn C++.
- Tiếp theo sẽ đến cửa sổ hỏi bạn muốn đặt tên project là gì và nơi lưu project. Bạn có thể đặt tên project theo ý muốn của bạn nhưng hãy nhớ là nên đặt tên với dấu “_” (gạch dưới) thay vì dấu cách (điều này là để tránh lỗi với debugger). Tiếp đến là chọn đường dẫn nơi lưu project. Bạn hãy tạo một thư mục riêng để lưu các project trong Code Blocks cho tiện. Sau đó chọn Next.
- Tiếp theo là chọn các tùy chọn nâng cao, bạn hãy để mặc định và chọn Finish.
2. Chạy chương trình huyền thoại “Hello World”
- Sau khi bạn tạo xong project. Bước tiếp theo bạn cần phải làm là gì?
- Hãy nhìn vào phía bên trái màn hình. Bạn sẽ thấy một khung với tên gọi là Workspace. Và ở đó có tên project của bạn, ở đó sẽ có đường dẫn đến File main.cpp như sau: {Tên project} > Sources > main.cpp. Nháy đúp vào file main.cpp để mở nó ra (đấy là trong trường hợp nó chưa được mở ra thôi, còn thường thì mặc định là sau khi bạn tạo project mới nó đã được mở ra rồi).
- Việc tiếp theo bạn cần làm chỉ là biên dịch file main.cpp mặc định đó mà thôi. Nhấn vào nút mình chỉ mũi tên đỏ trong hình vẽ là được.
- Sau đó bạn sẽ thấy được kết quả của nó:
- Vậy là bạn đã hoàn thành chương trình đầu tiên rồi, nhưng đây là chương trình “Hello World” được viết bằng ngôn ngữ C++, sau đây chúng ta sẽ thử biên dịch chương trình đó được viết bằng C. Các bạn copy đoạn code dưới đây dán đè vào màn hình biên soạn main.cpp của Code Blocks:
#include
#include
int main()
{
printf("Hello World!
");
getch();
return 0;
}
- Biên dịch xong bạn sẽ thấy kết quả giống hệt như với đoạn code được viết bằng C++ trước đó.
3. Giải thích code:
Bây giờ mình sẽ giải thích ý nghĩa của đoạn code mà ta vừa biên dịch:
- #include dòng này để khai báo tệp tiêu đề, trong trường hợp này là file stdio.h. Bởi vì trong chương trình ta sử dụng hàm printf() (nằm trong thư viện stdio – standard input/output, thư viện chứa các hàm thực hiện các thao tác vào ra chuẩn) và tương tự với #include để sử dụng getch() (console input/output, thư viện chưa các hàm thực hiện các thao tác vào ra qua bàn phím, màn hình…) nên ta phải khai báo với chương trình dịch gộp các thư viện đó vào chương trình. Nếu ta không gộp thư viện vào chương trình thì ta sẽ không thể sử dụng các hàm có trong thư viện đó.
- int main() đây là hàm chính của chương trình. Tất cả các chương trình đều có hàm này (bạn hãy nhớ là tất cả). Nó là hàm đầu tiên mà chương trình gọi khi chạy. int ở đây đại diện cho kiểu mà chương trình chính trả về sau khi chạy xong. Đó là lý do vì sao ta có lệnh return 0; ở cuối chương trình.
- Hai dấu mở ngoặc nhọn là để đánh dấu khối lệnh chứa bên trong nó.
- printf("Hello World!
"); đây là chỉ thị để in đoạn văn bản ra màn hình.
- getch(); chỉ thị để dừng màn hình chờ gõ một phím bất kì thì kết thúc chương trình.
- return 0; dòng này là để chỉ dẫn chương trình kết thúc bằng mã 0 (mã 0 đại diện cho chương trình kết thúc thành công). Về vấn đề return này khi nào có thời gian mình sẽ nói rõ hơn.
- Một lệnh trong C sẽ kết thúc khi gặp phải dấu ;
Vậy là chúng ta đã xong một chương trình đầu tiên rồi, phần tiếp theo mình sẽ bắt đầu với một lệnh cơ bản.
Còn đây là nội dung phần 2:
- Học cách tạo 1 project trong Code Blocks.
- Chạy chương trình huyền thoại “Hello World”.
- Giải thích code.
1. Học cách tạo 1 project trong Code Blocks:
Trước khi chúng ta bắt đầu và biên dịch đoạn mã (code) thì trước tiên chúng ta cần tạo một project để chương trình có thể quản lý code của bạn.
Cách tạo 1 project mới:
- Mở chương trình Code Blocks. Ở phía bên trái trên cùng ta chọn: File > New > Project. Một trình thuật sĩ (wizard) sẽ hiện ra như sau:
- Tiếp theo là chọn các tùy chọn nâng cao, bạn hãy để mặc định và chọn Finish.
2. Chạy chương trình huyền thoại “Hello World”
- Sau khi bạn tạo xong project. Bước tiếp theo bạn cần phải làm là gì?
- Hãy nhìn vào phía bên trái màn hình. Bạn sẽ thấy một khung với tên gọi là Workspace. Và ở đó có tên project của bạn, ở đó sẽ có đường dẫn đến File main.cpp như sau: {Tên project} > Sources > main.cpp. Nháy đúp vào file main.cpp để mở nó ra (đấy là trong trường hợp nó chưa được mở ra thôi, còn thường thì mặc định là sau khi bạn tạo project mới nó đã được mở ra rồi).
#include
#include
int main()
{
printf("Hello World!
");
getch();
return 0;
}
- Biên dịch xong bạn sẽ thấy kết quả giống hệt như với đoạn code được viết bằng C++ trước đó.
3. Giải thích code:
Bây giờ mình sẽ giải thích ý nghĩa của đoạn code mà ta vừa biên dịch:
- #include dòng này để khai báo tệp tiêu đề, trong trường hợp này là file stdio.h. Bởi vì trong chương trình ta sử dụng hàm printf() (nằm trong thư viện stdio – standard input/output, thư viện chứa các hàm thực hiện các thao tác vào ra chuẩn) và tương tự với #include để sử dụng getch() (console input/output, thư viện chưa các hàm thực hiện các thao tác vào ra qua bàn phím, màn hình…) nên ta phải khai báo với chương trình dịch gộp các thư viện đó vào chương trình. Nếu ta không gộp thư viện vào chương trình thì ta sẽ không thể sử dụng các hàm có trong thư viện đó.
- int main() đây là hàm chính của chương trình. Tất cả các chương trình đều có hàm này (bạn hãy nhớ là tất cả). Nó là hàm đầu tiên mà chương trình gọi khi chạy. int ở đây đại diện cho kiểu mà chương trình chính trả về sau khi chạy xong. Đó là lý do vì sao ta có lệnh return 0; ở cuối chương trình.
- Hai dấu mở ngoặc nhọn là để đánh dấu khối lệnh chứa bên trong nó.
- printf("Hello World!
"); đây là chỉ thị để in đoạn văn bản ra màn hình.
- getch(); chỉ thị để dừng màn hình chờ gõ một phím bất kì thì kết thúc chương trình.
- return 0; dòng này là để chỉ dẫn chương trình kết thúc bằng mã 0 (mã 0 đại diện cho chương trình kết thúc thành công). Về vấn đề return này khi nào có thời gian mình sẽ nói rõ hơn.
- Một lệnh trong C sẽ kết thúc khi gặp phải dấu ;
Vậy là chúng ta đã xong một chương trình đầu tiên rồi, phần tiếp theo mình sẽ bắt đầu với một lệnh cơ bản.
Chỉnh sửa lần cuối bởi người điều hành: