2014-08-29 12 views
10

Tôi muốn kích hoạt chế độ c99 trong trình biên dịch gcc để đọc ở bài khác trong diễn đàn này -std phải bằng -std=c99 nhưng tôi không biết cách đặt giá trị này bằng giá trị này dòng lệnh để xin vui lòng giúp đỡ.Cách bật chế độ c99 ở gcc với terminal

+2

nối thêm lệnh của bạn với -std = c99;) –

+0

Làm cách nào để chỉ định tên của thực thi? – jxh

+0

Sử dụng lệnh 'c99' để biên dịch chương trình viết bằng ngôn ngữ C99 ;-) –

Trả lời

30

Compile sử dụng:

gcc -std=c99 -o outputfile sourcefile.c 

gcc --help liệt kê một số tùy chọn, để có danh sách đầy đủ các tùy chọn tham khảo các manual. Bạn có thể tìm thấy các tùy chọn khác nhau cho phương ngữ C here.

Như bạn đang sử dụng make bạn có thể thiết lập các tùy chọn dòng lệnh cho gcc sử dụng CFLAGS:

# sample makefile 
CC = gcc 
CFLAGS = -Wall -std=c99 
OUTFILE = outputfile 
OBJS = source.o 
SRCS = source.c 

$(OUTFILE): $(OBJS) 
     $(CC) $(CFLAGS) -o $(OUTFILE) $(OBJS) 
$(OBJS): $(SRCS) 
     $(CC) $(CFLAGS) -c $(SRCS) 

Phụ Lục (bổ sung cuối năm 2016): C99 là nhận được loại cũ bây giờ, người ta nhìn vào câu trả lời này có thể muốn khám phá C11 thay thế.

+0

cảm ơn nhưng thay thế này có thực hiện vì tôi luôn sử dụng để biên dịch tất cả các chương trình của mình không? – user297904

+0

@ user297904 Không, nếu bạn sử dụng một makefile, bạn nên thiết lập các tùy chọn trong nó thay thế. Tôi sẽ cập nhật câu trả lời của tôi với một ví dụ. – jpw

+0

cảm ơn cho việc cập nhật một câu hỏi cuối cùng nên ghi vào thiết bị đầu cuối hoặc bên trong của tập tin cấu hình của thực hiện và đâu là tập tin cấu hình của thực hiện? – user297904

6

Bạn có thể thử sử dụng cờ -std=c99.

Cố gắng hãy biên dịch như thế này:

gcc -Wall -std=c99 -g myProgram.c 

Cũng lưu ý rằng -g là cho tùy chọn gỡ lỗi (Cảm ơn Alter Mann đã chỉ mà).

2

Dựa trên các nhận xét theo câu trả lời khác, có lẽ bạn đang sử dụng quy tắc tạo ngầm và không có Makefile. Nếu điều này, thì bạn chỉ cần chạy make tst để tạo ra tst nhị phân từ tst.c. Trong trường hợp đó, bạn có thể chỉ định các cờ bằng cách đặt biến môi trường CFLAGS. Bạn có thể đặt nó cho vỏ hiện tại, hoặc thêm nó vào ~/.bashrc của bạn để có nó luôn, với điều này:

export CFLAGS='-Wall -Wextra -std=c99' 

Hoặc xác định nó chỉ cho lệnh duy nhất:

CFLAGS='-Wall -Wextra -std=c99' make tst 

(Lưu ý: Tôi thêm cờ cảnh báo nữa, bạn thực sự nên sử dụng chúng, chúng sẽ phát hiện rất nhiều lỗi tiềm ẩn hoặc chỉ là mã xấu bạn nên viết khác đi.)

Các vấn đề liên quan