Tôi biết điều này đã đã được chấp nhận nhưng tôi cảm thấy như tôi có một số lời khuyên để cung cấp. Đối với một trong những bạn nên sử dụng một makefile cho c + +, đây là một trong tôi sử dụng để trả lời trên SO.
CFLAGS=-std=c++11
CFLAGS+=-stdlib=libc++
CC=clang++
#flags for test.c
cc=clang
DEBUG=-g
#warnings
WARNINGS=-Weverything
#always have -Weverything on for SO lol
OPT= -O0 -O1 -O2 -O3 -O4
test: test.cpp
$(info set CC for compiler)
$(CC) $(CFLAGS) $< -o [email protected] $(DEBUG)
stack: stack.cpp
$(CC) $(CFLAGS) stack.cpp -o [email protected] $(DEBUG) $(WARNINGS)
testc: test.c
$(cc) $< -o [email protected] $(DEBUG)
clean:
rm test
Bây giờ bất cứ khi nào tôi tải xuống một số mã crappy từ SO, tôi có thể dễ dàng thay đổi cờ nếu muốn.
Đối với bí danh bash tôi sẽ đề nghị bạn đặt biệt hiệu như vậy alias clang++11='clang++ -std=c++11
theo cách này bạn không ghi đè lên clang++
nếu bạn không muốn sử dụng tiêu chuẩn C++ 11. Cuối cùng, bạn có thể thêm dòng tôi vừa cho bạn xem .bash_profile
trên một máy Mac nằm trong thư mục nhà hoặc ~
của bạn, điều này sẽ làm cho thay đổi này vĩnh viễn. Khi bạn thay đổi nó chạy source .bash_profile
để đặt các thay đổi có hiệu lực. Trên linux tôi nghĩ rằng tập tin được gọi là .bashrc
. Hy vọng rằng những lời khuyên này sẽ giúp bạn ra khi ur c + + ing, tôi sẽ khuyên bạn nên tìm hiểu dòng lệnh mac, có sự khác biệt từ Linux, nó có thể rất hữu ích để biết một số trong những điều nó có thể làm.
'bí danh g ++ = 'g ++ -std = C++ 11''? –
Một giải pháp khác sẽ được vá GCC để nó bao gồm một số tùy chọn hợp lý hơn/tươi hơn so với mặc định cho một tiêu chuẩn 15 tuổi ... –
vá? Nếu không, bí danh hoạt động tốt, cảm ơn. – Choubidou