Đây là lệnh fteqcc có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
fteqcc - Trình biên dịch FTE QuakeC
SYNOPSIS
fteqcc [lựa chọn]
MÔ TẢ
Trang hướng dẫn sử dụng này tài liệu ngắn gọn về fteqcc chỉ huy.
fteqcc là một chương trình biên dịch mã nguồn QuakeC thành dữ liệu trò chơi binaray của Quake1 hoặc
Trò chơi dựa trên QuakeWorld.
LỰA CHỌN
--Cứu giúp Hiển thị tóm tắt các tùy chọn.
-Fautoproto
cho phép tạo mẫu tự động
-Fwasm kết xuất tất cả mã trình hợp dịch sang qc.asm
-Từ khóa, -Không có từ khóa
bật hoặc tắt các từ khóa ngôn ngữ. Các từ khóa có sẵn để chuyển đổi là: asm, break,
trường hợp, lớp, const, tiếp tục, mặc định, thực thể, enum, enumflags, extern, float, for,
goto, int, số nguyên, noref, nosave, chia sẻ, trạng thái, chuỗi, cấu trúc, switch,
thinktime, typedef, union, var và vector.
-O0, -O1, -O2, -O3,
sử dụng mức tối ưu hóa từ 0 đến 3. Với 0, không có tối ưu hóa nào diễn ra, khác
giá trị bao gồm nhiều hơn hoặc ít hơn các tùy chọn trong phần TỐI ƯU HÓA.
-src thư mục
Chỉ định một thư mục để tìm kiếm các tệp nguồn (progs.src) trong.
-Tường hiển thị tất cả các cảnh báo
FORMAT
fteqcc hỗ trợ một số định dạng đầu ra.
-Tiêu chuẩn, -Tq1, -Tquakec
Đây là cài đặt mặc định và tạo mã tương thích với Quake1 gốc.
-Thexen2, -Th2
Đầu ra mã tương thích Hexen2.
-Tkkqwsv, -Tkk7, -Tbigprogs, -Trversion7, -Tkkqwsv
Tạo các progs tương thích KK phiên bản 7
-Tfte Tạo mã cụ thể cho FTE Quake.
TỐI ƯU HÓA
Các tùy chọn sau đây có thể được sử dụng để tinh chỉnh tối ưu hóa. Một số trong số chúng đã được kích hoạt
tự động.
-Các nhiệm vụ
c = a * b được thực hiện trong một thao tác chứ không phải hai và có thể khiến
trình dịch ngược không thành công.
-Oshortenif
if (! a) theo truyền thống được biên dịch thành hai câu lệnh. Tối ưu hóa này thực hiện nó trong
một, nhưng có thể khiến một số trình dịch ngược bị nhầm lẫn.
-ononvec_parms
Trong qcc gốc, các tham số hàm được chỉ định dưới dạng kho lưu trữ vectơ ngay cả đối với
nổi. Điều này khắc phục điều đó.
-Oconstant_names
loại bỏ tên của các hằng số khỏi progs của bạn, dẫn đến các tệp nhỏ hơn. Nó
làm cho các trình dịch ngược bỏ tên hoặc chế tạo các số.
-Oconstant_name_strings
loại bỏ tên của các hằng số chuỗi khỏi các progs của bạn. Điều này có thể phá vỡ các addon, vì vậy
không sử dụng nó trong những trường hợp đó.
-Odupconstdefs
hợp nhất các định nghĩa của các hằng có cùng giá trị. Chú ý thêm đến
gán cho các cảnh báo liên tục.
-Onuplicatesstrings
thu gọn bảng chuỗi được lưu trữ trong progs. Nó sẽ đáng kể
nhỏ hơn với cái này.
-Địa phương
Bỏ tên và định nghĩa địa phương. Điều này làm cho nó THỰC SỰ khó dịch ngược
-Tên_ chức năng
Điều này loại bỏ tên của các chức năng không bao giờ được gọi. Không tạo ra nhiều
một tác động mặc dù.
-Tên hồ sơ
Điều này loại bỏ tên tệp của các progs. Điều này có thể gây nhầm lẫn giữa thực sự cũ
các trình dịch ngược, nhưng không là gì với những trình biên dịch mới hơn.
-Tham khảo
Loại bỏ các mục nhập của các biến không được tham chiếu. Cũng không tạo ra sự khác biệt
mã duy trì.
-Ooverlaptemps
Tối ưu hóa số lượng pr_globals bằng các khoảng thời gian tạm thời chồng chéo. Trong QC, mọi
nhân, chia hoặc hoạt động nói chung tạo ra một biến tạm thời.
Việc tối ưu hóa này ngăn chặn sự dư thừa và trong trường hợp mã trò chơi của Hexen2, làm giảm
số đếm bằng 50k. Đây là tối ưu hóa quan trọng nhất từ trước đến nay.
- Hằng số
5 * 6 thực sự phát ra một hoạt động vào các progs. Điều này ngăn điều đó xảy ra,
hiệu quả làm cho trình biên dịch xem 30
-Oprecache_file
Loại bỏ những thứ bị lãng phí được sử dụng trong các lệnh gọi hàm và chuỗi vào tệp Preache_file
nội trang (thực sự là sơ khai trong trận động đất).
-Chỉ trả lại
Các hàm kết thúc bằng câu lệnh trả về không cần câu lệnh done ở cuối
chức năng. Điều này có thể gây nhầm lẫn cho một số trình dịch ngược, làm cho các hàm có vẻ lớn hơn
hơn họ đã từng.
-Ocomound_jumps
Tối ưu hóa này chủ yếu phát huy tác dụng với các câu lệnh if / else lồng nhau, thay vì
nhảy đến một tuyên bố nhảy vô điều kiện, nó sẽ nhảy đến đích cuối cùng
thay thế. Điều này sẽ làm bối rối các trình biên dịch.
-Ostrip_functions
Loại bỏ 'định nghĩa' của các hàm chỉ được gọi trực tiếp. Điều này không
không ảnh hưởng đến trò chơi đã lưu.
-Olocals_marshalling
Lưu trữ tất cả người dân địa phương trong một phần của pr_globals. Giảm đáng kể. Cái này
thực hiện công việc của chồng chéo một cách hiệu quả. Nó được một số người nhận thấy là có lỗi,
tuy nhiên, và các trường hợp mà nó gây ra vấn đề vẫn chưa được biết.
-vectorcals
Trong trường hợp một hàm được gọi chỉ với một vectơ, điều này khiến lệnh gọi hàm
lưu trữ ba float thay vì một vector. Điều này có thể tiết kiệm một số lượng lớn pr_globals
trong đó các vectơ đó chứa nhiều tọa độ trùng lặp nhưng không khớp với nhau.
Sử dụng fteqcc trực tuyến bằng các dịch vụ onworks.net