Nội dung bài viết
La Kiến Vinh Cách thức tạo ra file sau khi preprocess một file .cpp hoặc .c với Visual Studio, sau khi tạo ra ta có thể khảo sát nhằm xem xét việc hoạt động của các Directive trong C/C++ và có thể làm rõ hơn vai trò của các Directive như #include, #define, #if.

Giới thiệu

Preprocess hay tiền xử lý đã được giới thiệu bởi tác giả Amy Lê qua bài viết Preprocessor Và #include Directive, với bài viết này, tôi hướng dẫn các bạn cách thức để "nhìn thấy" các file đã được preprocess với Visual Studio. Vậy bài viết này nhằm giải quyết câu hỏi - làm sao để xem được codes sau khi preprocess?

Tiền đề bài viết

Bài viết này nhằm để các học trò của tôi tham khảo rõ hơn về vấn đề preprocess, nhưng tôi khuyến khích các bạn hãy thủ công thực hiện quá trình preprocess với giấy và bút trước khi sử dụng công cụ này, đúng với Slogan của STDIO, điều này sẽ giúp các bạn mạnh dạn hơn cho các công việc khác sau này.

Writing codes on your papers and being a master

Đối tượng hướng đến

Dành cho các bạn đã biết về preprocess với C/C++ và biết sử dụng Visual Studio.

Môi trường

Tôi sử dụng Visual Studio 2013 Community trên Windows 8.1 để thực hiện bài hướng dẫn này, các môi trường khác có thể tương tự hoặc khác đôi chút.

Hướng dẫn

Tạo một project với template là Empty Project (ngôn ngữ C/C++). Tạo một file để viết mã C++ giả sử stdio_math.cpp.

#include <stdio.vn.h>

#define MAX 10
#define SUM(a, b) ((a)+(b))

void main()
{
	int a = MAX;
	int b = SUM(1, 8*6) * 7;
}

Để Visual Studio tạo ra file preprocess cho ta, ta cần chỉnh sửa một thông số trong Properties của project. File được tạo ra sẽ có tên trùng với tên của file.c hoặc file.cpp và có phần mở rộng là .i, trong trường hợp này file sau khi preprocess sẽ có tên là stdio_math.i vì file chứa mã nguồn của ta có tên là stdio_math.cpp.

Khi đã mở cửa sổ Properties của project, ta chọn C/C++ > Command Line > Tại ô Additional Options ta gõ vào /P (lựa chọn này có nghĩa là đưa toàn bộ preprocess source vào file).

Sau khi đã gõ /P xong, ta có thể Build Project để xem thử kết quả, cần lưu ý là, ta sẽ thất bại ở quá trình Link vì toàn bộ file.cpp/.c chỉ để preprocess ra file.i. Bây giờ ta có thể vào thư mục chứa project để tìm các file.i (trong trường hợp này là stdio_math.i để tham khảo kết quả. Bạn có thể sử dụng Notepad, Notepad++ (hay bất kỳ text-editor) để mở các file.i này.

Ngoài việc có thể sử dụng Command Line như trên, ta có thể dùng giao diện đồ họa, tuy nhiên tôi không đề cập trong bài viết này, vì dùng Command Line đơn giản hơn. Bạn có thể tự tìm hiểu trong Tab C/C++ > Preprocessor.

THẢO LUẬN
ĐÓNG