GoGPT Best VPN GoSearch

ไอคอน Fav ของ OnWorks

sdcc - ออนไลน์ในคลาวด์

เรียกใช้ sdcc ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง sdcc ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


sdcc - คอมไพเลอร์ C อุปกรณ์ขนาดเล็ก

เรื่องย่อ


เอสดีซีซี [ตัวเลือก] ชื่อไฟล์

คำเตือน


ข้อมูลใน man page นี้เป็นข้อมูลที่แยกจากเอกสารทั้งหมดของ SDCC และ is
จำกัดไว้ที่ความหมายของตัวเลือก

สำหรับเอกสารฉบับสมบูรณ์และเป็นปัจจุบัน โปรดดูที่ SDCC ผู้รวบรวม ผู้ใช้งาน แนะนำ.

DESCRIPTION


SDCC เป็นโอเพ่นซอร์สฟรี กำหนดเป้าหมายใหม่ได้ เพิ่มประสิทธิภาพคอมไพเลอร์ ANSI-C ที่ออกแบบมาสำหรับ 8 บิต
ไมโครโปรเซสเซอร์ เวอร์ชันปัจจุบันมุ่งเป้าไปที่ไมโครโปรเซสเซอร์ที่ใช้ Intel MCS51 (8031,
8032, 8051, 8052 เป็นต้น), ดัลลัส DS80C390 รุ่นต่างๆ, Freescale (เดิมชื่อ Motorola) HC08 และ
MCU ที่ใช้ Zilog Z80 (z80, z180, gbz80, Rabbit 2000/3000) สามารถกำหนดเป้าหมายใหม่สำหรับผู้อื่น
ไมโครโปรเซสเซอร์ รองรับ Microchip PIC อยู่ระหว่างการพัฒนา

SDCC ใช้ ASXXXX & ASLINK เวอร์ชันแก้ไข, แอสเซมเบลอร์ retargetable โอเพ่นซอร์สฟรี &
ลิงค์เกอร์.

SDCC มีนามสกุลภาษาที่กว้างขวางเหมาะสำหรับการใช้งานไมโครคอนโทรลเลอร์ต่างๆ และ
ฮาร์ดแวร์พื้นฐานอย่างมีประสิทธิภาพ

SDCC ใช้ ASXXXX & แอสลิงค์, ฟรีแวร์, แอสเซมเบลอร์ & ลิงเกอร์ที่กำหนดเป้าหมายได้ใหม่ SDCC มี
ส่วนขยายภาษาที่กว้างขวางเหมาะสำหรับการใช้งานไมโครคอนโทรลเลอร์ต่างๆ และ
ฮาร์ดแวร์พื้นฐานอย่างมีประสิทธิภาพ

คอมไพเลอร์ยังอนุญาตให้ฝังโค้ดแอสเซมเบลอร์แบบอินไลน์ได้ทุกที่ในฟังก์ชัน ใน
นอกจากนี้ยังสามารถเรียกกิจวัตรที่พัฒนาขึ้นในการประกอบ

PROCESSOR การคัดเลือก OPTIONS


-mmcs51
สร้างรหัสสำหรับโปรเซสเซอร์ตระกูล MCS51 (8051) นี่คือค่าเริ่มต้น
เป้าหมายของโปรเซสเซอร์

-mds390
สร้างโค้ดสำหรับโปรเซสเซอร์ DS80C390

-mds400
สร้างโค้ดสำหรับโปรเซสเซอร์ DS80C400

-mz80 สร้างรหัสสำหรับโปรเซสเซอร์ตระกูล Z80

-mhc08 สร้างรหัสสำหรับโปรเซสเซอร์ GameBoy Z80

-mz80 สร้างรหัสสำหรับโปรเซสเซอร์ตระกูล Zilog Z80

-mz180 สร้างรหัสสำหรับโปรเซสเซอร์ตระกูล Zilog Z180

-mr2k สร้างรหัสสำหรับโปรเซสเซอร์ตระกูล Rabbit 2000 / Rabbit 3000"

-mr3ka สร้างรหัสสำหรับโปรเซสเซอร์ตระกูล Rabbit 2000 / Rabbit 3000 ตรวจสอบ XXXXX"

-mgbz80
สร้างรหัสสำหรับโปรเซสเซอร์ GameBoy Z80 (ไม่ได้รับการดูแลอย่างแข็งขัน)

-mpic14
สร้างโค้ดสำหรับโปรเซสเซอร์ Microchip PIC 14 บิต (p16f84 และรุ่นต่างๆ ใน
พัฒนาไม่ครบ)

-mpic16
สร้างโค้ดสำหรับโปรเซสเซอร์ Microchip PIC 16 บิต (p18f452 และรุ่นต่างๆ ใน
พัฒนาไม่ครบ)

-mtlcs900h
สร้างรหัสสำหรับโปรเซสเซอร์ Toshiba TLCS-900H (ไม่ได้รับการดูแล ไม่สมบูรณ์)

-mxa51 สร้างรหัสสำหรับโปรเซสเซอร์ Phillips XA51 (ไม่ได้รับการดูแล ไม่สมบูรณ์)

-mstm8 สร้างรหัสสำหรับโปรเซสเซอร์ STM8

พรีโปรเซสเซอร์ OPTIONS


-I
ตำแหน่งเพิ่มเติมที่ตัวประมวลผลล่วงหน้าจะค้นหา `<..h>' หรือ `..h'
ไฟล์

-D
คำนิยามบรรทัดคำสั่งของมาโคร ผ่านไปยังพรีโปรเซสเซอร์

-M บอกตัวประมวลผลล่วงหน้าให้แสดงกฎที่เหมาะสมสำหรับการอธิบาย
การพึ่งพาของแต่ละไฟล์อ็อบเจ็กต์ สำหรับแต่ละไฟล์ต้นฉบับ ตัวประมวลผลล่วงหน้าจะส่งออก
กฎข้อหนึ่งที่เป้าหมายคือชื่อไฟล์อ็อบเจ็กต์สำหรับไฟล์ต้นทางนั้นและใคร
การพึ่งพาคือไฟล์ทั้งหมด `#include'd ในนั้น กฎข้อนี้อาจเป็นบรรทัดเดียวหรือ
อาจจะต่อด้วย `\'-ขึ้นบรรทัดใหม่ถ้ามันยาว รายการกฎจะพิมพ์บน
เอาต์พุตมาตรฐานแทนโปรแกรม C ที่ประมวลผลล่วงหน้า `-ม' หมายถึง `-อี'.

-C บอกผู้ประมวลผลล่วงหน้าว่าอย่าทิ้งความคิดเห็น ใช้กับ `-อี' ตัวเลือก

-มม Like `-ม' แต่ผลลัพธ์กล่าวถึงเฉพาะไฟล์ส่วนหัวของผู้ใช้ที่มาพร้อมกับ
`#include "ไฟล์"' ไฟล์ส่วนหัวของระบบที่รวมอยู่ใน `#include ' ถูกละเว้น

-A คำถามคำตอบ)
ยืนยันคำตอบสำหรับคำถามในกรณีที่ทดสอบด้วยตัวประมวลผลล่วงหน้า
เงื่อนไขเช่น `#if #question(answer)' `-อะ-' ปิดการใช้งานมาตรฐาน
การยืนยันที่ปกติจะอธิบายเครื่องเป้าหมาย

-A คำถาม
(คำตอบ) ยืนยันคำตอบของคำถาม ในกรณีที่ทดสอบด้วย a
ตัวประมวลผลล่วงหน้าแบบมีเงื่อนไข เช่น `#if #question(answer)' `-อะ-' ปิดการใช้งาน
การยืนยันมาตรฐานที่ปกติจะอธิบายเครื่องเป้าหมาย

-ยูมาโคร
ยกเลิกการกำหนดมาโครมาโคร `-ยู' ตัวเลือกจะได้รับการประเมินหลังจากทั้งหมด `-D' ตัวเลือก แต่
ก่อนหน้านี้ `-รวม' และ `-ไอมาครอส' ตัวเลือก

-ดีเอ็ม บอกให้ตัวประมวลผลล่วงหน้าแสดงเฉพาะรายการคำจำกัดความของมาโครที่อยู่ใน
ผลเมื่อสิ้นสุดการประมวลผลล่วงหน้า ใช้กับ '-อี' ตัวเลือก

-วว บอกให้ตัวประมวลผลล่วงหน้าส่งคำจำกัดความมาโครทั้งหมดไปยังเอาต์พุตใน
ลำดับที่เหมาะสมในส่วนที่เหลือของเอาต์พุต

-ดีเอ็น Like `-dD'ยกเว้นอาร์กิวเมนต์แมโครและเนื้อหาจะถูกละเว้น เท่านั้น `#define
ชื่อ' รวมอยู่ในผลลัพธ์

ลิงเกอร์ OPTIONS


-แอล, -lib-เส้นทาง<แน่นอน เส้นทาง ไปยัง เพิ่มเติม ห้องสมุด>
อ็อพชันนี้ถูกส่งไปยังพาธการค้นหาไลบรารีเพิ่มเติมของตัวแก้ไขการเชื่อมโยง NS
ชื่อพาธจะต้องเป็นแบบสัมบูรณ์ ไฟล์ไลบรารีเพิ่มเติมอาจระบุใน
บรรทัดคำสั่ง. ดูส่วนการคอมไพล์โปรแกรมสำหรับรายละเอียดเพิ่มเติม

--xram-loc
ตำแหน่งเริ่มต้นของ ram ภายนอก ค่าเริ่มต้นคือ 0 ค่าที่ป้อน can
อยู่ในรูปแบบเลขฐานสิบหกหรือทศนิยม เช่น --xram-loc 0x8000 or --xram-loc 32768.

--รหัส-loc
ตำแหน่งเริ่มต้นของส่วนรหัส ค่าเริ่มต้น 0 หมายเหตุเมื่อตัวเลือกนี้เป็น
ใช้ตารางเวกเตอร์ขัดจังหวะยังถูกย้ายไปยังที่อยู่ที่กำหนด มูลค่า
ที่ป้อนสามารถอยู่ในรูปแบบเลขฐานสิบหกหรือทศนิยม เช่น: --รหัส-loc 0x8000 or --รหัส-
loc 32768.

--stack-loc
ค่าเริ่มต้นของตัวชี้สแต็ก ค่าเริ่มต้นของตัวชี้สแต็กคือ
0x07 หากใช้เฉพาะธนาคารลงทะเบียน 0 หากใช้ธนาคารลงทะเบียนอื่น ๆ
ตัวชี้สแต็กถูกเตรียมใช้งานไปยังตำแหน่งที่อยู่เหนือธนาคารรีจิสเตอร์สูงสุดที่ใช้
เช่น. หากใช้ธนาคารลงทะเบียน 1 และ 2 ตัวชี้สแต็กจะมีค่าเริ่มต้นเป็นตำแหน่ง
0x18. ค่าที่ป้อนสามารถอยู่ในรูปแบบเลขฐานสิบหกหรือทศนิยม เช่น --stack-loc
0x20 or --stack-loc 32. หากใช้ธนาคารลงทะเบียนทั้งสี่กองจะเป็น
วางไว้หลังส่วนข้อมูล (เทียบเท่ากับ --stack-หลังข้อมูล)

--stack-หลังข้อมูล
ตัวเลือกนี้จะทำให้สแต็กอยู่ในแรมภายในหลังจาก data
ส่วน

--data-loc
ตำแหน่งเริ่มต้นของส่วนข้อมูล ram ภายใน ค่าเริ่มต้นคือ 0x30ส่วน
ค่าที่ป้อนสามารถอยู่ในรูปแบบเลขฐานสิบหกหรือทศนิยม เช่น --data-loc 0x20 or
--data-loc 32.

--idata-loc
ตำแหน่งเริ่มต้นของ ram ภายในที่กำหนดแอดเดรสทางอ้อม ค่าเริ่มต้นคือ
0x80. ค่าที่ป้อนสามารถอยู่ในรูปแบบเลขฐานสิบหกหรือทศนิยม เช่น --idata-loc
0x88 or --idata-loc 136.

--ออก-fmt-ihx
เอาต์พุตของลิงเกอร์ (โค้ดอ็อบเจ็กต์สุดท้าย) อยู่ในรูปแบบ Intel Hex (นี่คือค่าเริ่มต้น
ตัวเลือก)

--ออก-fmt-s19
เอาต์พุตของตัวเชื่อมโยง (โค้ดอ็อบเจ็กต์สุดท้าย) อยู่ในรูปแบบ Motorola S19

MCS51 OPTIONS


--model-ขนาดใหญ่
สร้างโค้ดสำหรับโปรแกรมโมเดลขนาดใหญ่ ดูรายละเอียดเพิ่มเติมในส่วนโมเดลหน่วยความจำ
หากใช้ตัวเลือกนี้ไฟล์ต้นฉบับทั้งหมดในโปรเจ็กต์ควรคอมไพล์ด้วยสิ่งนี้
ตัวเลือก. นอกจากนี้ รูทีนไลบรารีมาตรฐานถูกคอมไพล์ด้วยโมเดลขนาดเล็ก
พวกเขาจะต้องคอมไพล์ใหม่

--รุ่น-เล็ก
สร้างโค้ดสำหรับโปรแกรม Small Model ดูส่วน Memory Models สำหรับรายละเอียดเพิ่มเติม
นี่คือรูปแบบเริ่มต้น

DS390 / DS400 OPTIONS


--model-flat24
สร้างรหัสโหมดแบน 24 บิต นี่คือหนึ่งเดียวที่รหัส ds390
เครื่องกำเนิดรองรับในขณะนี้และเป็นค่าเริ่มต้นเมื่อใช้ -mds390.

--protect-sp-อัพเดต
ปิดใช้งานการขัดจังหวะระหว่างการอัปเดต ESP:SP

_--กอง-10บิต
สร้างโค้ดสำหรับโหมดสแต็ก 10 บิตของส่วน Dallas DS80C390 นี้เป็น
หนึ่งเดียวเท่านั้นที่ตัวสร้างโค้ด ds390 รองรับในขณะนี้และเป็นค่าเริ่มต้นเมื่อ
ด้วย -mds390. ในโหมดนี้ สแต็กจะอยู่ที่ 1K ล่างของ internal
RAM ซึ่งถูกแมปกับ 0x400000 . โปรดทราบว่าการสนับสนุนไม่สมบูรณ์ เนื่องจากมัน
ยังคงใช้ไบต์เดียวเป็นตัวชี้สแต็ก ซึ่งหมายความว่าเฉพาะ 256 . ที่ต่ำกว่าเท่านั้น
ไบต์ของพื้นที่สแต็ก 1K ที่เป็นไปได้จะถูกใช้จริง อย่างไรก็ตาม สิ่งนี้ไม่
ช่วยให้คุณสามารถเรียกคืน RAM ต่ำ 256 ไบต์อันมีค่าเพื่อใช้สำหรับ DATA และ
กลุ่ม IDATA คอมไพเลอร์จะไม่สร้างโค้ดใดๆ เพื่อใส่โปรเซสเซอร์ลงใน
โหมดสแต็ก 10 บิต สิ่งสำคัญคือต้องแน่ใจว่าโปรเซสเซอร์อยู่ในโหมดนี้
ก่อนที่จะเรียกใช้ฟังก์ชัน re-entrant ที่คอมไพล์ด้วยตัวเลือกนี้ โดยหลักการแล้ว
สิ่งนี้ควรใช้ได้กับ --stack-อัตโนมัติ ตัวเลือกแต่ยังไม่ได้รับการทดสอบ มันคือ
เข้ากันไม่ได้กับ --xstack ตัวเลือก. นอกจากนี้ยังเหมาะสมหากโปรเซสเซอร์เป็น
ในโหมดการกำหนดแอดเดรสต่อเนื่อง 24 บิต (ดูที่ --model-flat24 ตัวเลือก)

Z80 Options


--callee-บันทึก-bc
บังคับฟังก์ชันที่เรียกให้บันทึก BC เสมอ

--no-std-crt0
เมื่อทำการเชื่อมโยง ให้ข้ามไฟล์อ็อบเจ็กต์ crt0.o มาตรฐาน คุณต้องจัดหาเอง
crt0.o สำหรับระบบของคุณเมื่อทำการเชื่อมโยง

การเพิ่มประสิทธิภาพ OPTIONS


--nogcse
จะไม่ทำการกำจัดนิพจน์ย่อยส่วนกลาง ตัวเลือกนี้อาจใช้เมื่อ
คอมไพเลอร์สร้างพื้นที่สแต็ก/ข้อมูลขนาดใหญ่ที่ไม่พึงประสงค์เพื่อจัดเก็บคอมไพเลอร์ชั่วคราว
ข้อความเตือนจะถูกสร้างขึ้นเมื่อสิ่งนี้เกิดขึ้นและคอมไพเลอร์จะ
ระบุจำนวนไบต์พิเศษที่จัดสรร แนะนำว่าตัวเลือกนี้
ไม่ใช้ #ปรากมา NOGCSE สามารถใช้เพื่อปิดนิพจน์ย่อยส่วนกลาง
การกำจัดสำหรับฟังก์ชันที่กำหนดเท่านั้น

--ไม่แปรผัน
จะไม่ทำการออปติไมซ์ค่าคงที่แบบวนซ้ำ สิ่งนี้อาจถูกปิดด้วยเหตุผล
อธิบายสำหรับตัวเลือกก่อนหน้า สำหรับรายละเอียดเพิ่มเติมของการเพิ่มประสิทธิภาพลูปดำเนินการ
ดูส่วน ค่าคงที่ของลูป ขอแนะนำว่าอย่าใช้ตัวเลือกนี้ #ปรากมา
ไม่แปรปรวน สามารถใช้เพื่อปิดการปรับให้เหมาะสมคงที่สำหรับฟังก์ชันที่กำหนด
เท่านั้น

--การเหนี่ยวนำ
จะไม่ทำการเพิ่มประสิทธิภาพการเหนี่ยวนำลูป ดูการลดความแรงของส่วนเพิ่มเติม
รายละเอียด. ขอแนะนำว่าอย่าใช้ตัวเลือกนี้ #ปรากมา การไม่เหนี่ยวนำ เป็นไปได้
ใช้เพื่อปิดการเพิ่มประสิทธิภาพการเหนี่ยวนำสำหรับฟังก์ชันที่กำหนดเท่านั้น

--nojtbound
จะไม่สร้างการตรวจสอบเงื่อนไขขอบเขตเมื่อมีการใช้คำสั่งสวิตช์
โดยใช้ตารางกระโดด ขอแนะนำว่าอย่าใช้ตัวเลือกนี้ #ปรากมา
NOJTBOUND สามารถใช้เพื่อปิดการตรวจสอบขอบเขตสำหรับตารางกระโดดสำหรับที่กำหนด
ฟังก์ชั่นเท่านั้น

--nolopreverse
จะไม่ทำการเพิ่มประสิทธิภาพการกลับรายการแบบวนซ้ำ

อื่น ๆ OPTIONS


-ค, --คอมไพล์-เท่านั้น
จะรวบรวมและรวบรวมซอร์ส แต่จะไม่เรียกตัวแก้ไขการเชื่อมโยง

-E รันเฉพาะตัวประมวลผลล่วงหน้า C ประมวลผลไฟล์ต้นฉบับ C ทั้งหมดที่ระบุและส่งออกล่วงหน้า
ผลลัพธ์ที่ได้มาตรฐาน

--stack-อัตโนมัติ
ฟังก์ชันทั้งหมดในไฟล์ต้นฉบับจะถูกคอมไพล์เป็น reentrant เช่น พารามิเตอร์
และตัวแปรท้องถิ่นจะถูกจัดสรรบนสแต็ก หากใช้ตัวเลือกนี้ทั้งหมด
ไฟล์ต้นฉบับในโปรเจ็กต์ควรคอมไพล์ด้วยตัวเลือกนี้

--xstack
ใช้ pseudo stack ใน 256 ไบต์แรกใน ram ภายนอกสำหรับการจัดสรร
ตัวแปรและพารามิเตอร์การส่ง

--callee-บันทึก ฟังก์ชั่น1[,ฟังก์ชั่น2][,ฟังก์ชั่น3]....
คอมไพเลอร์โดยค่าเริ่มต้นใช้ผู้โทรบันทึกแบบแผนสำหรับการลงทะเบียนการบันทึกข้าม
การเรียกใช้ฟังก์ชัน อย่างไรก็ตาม การทำเช่นนี้อาจทำให้เกิดการกด & popping การลงทะเบียนที่ไม่จำเป็นเมื่อ
เรียกฟังก์ชันขนาดเล็กจากฟังก์ชันขนาดใหญ่ สามารถใช้ตัวเลือกนี้เพื่อสลับ
แบบแผนการบันทึกการลงทะเบียนสำหรับชื่อฟังก์ชันที่ระบุ คอมไพเลอร์จะ
ไม่บันทึกการลงทะเบียนเมื่อเรียกใช้ฟังก์ชันเหล่านี้ จะไม่มีการสร้างรหัสพิเศษที่
การเข้า & ออกสำหรับฟังก์ชั่นเหล่านี้เพื่อบันทึก & กู้คืนรีจิสเตอร์ที่ใช้โดย these
ฟังก์ชั่นนี้สามารถ อย่างมาก ลดโค้ดและปรับปรุงประสิทธิภาพรันไทม์ของ
รหัสที่สร้างขึ้น ในอนาคตคอมไพเลอร์ (พร้อมการวิเคราะห์ระหว่างขั้นตอน) จะเป็น
สามารถกำหนดรูปแบบที่เหมาะสมเพื่อใช้สำหรับการเรียกแต่ละฟังก์ชันได้ DO ไม่ ใช้
ตัวเลือกนี้สำหรับฟังก์ชันในตัวเช่น _มูลูอินท์... หากตัวเลือกนี้ใช้สำหรับ
ฟังก์ชันไลบรารี ฟังก์ชันไลบรารีที่เหมาะสมจำเป็นต้องคอมไพล์ใหม่ด้วย
ตัวเลือกเดียวกัน หากโปรเจ็กต์ประกอบด้วยไฟล์ต้นฉบับหลายไฟล์ แสดงว่าซอร์สทั้งหมดนั้น
ไฟล์ควรจะคอมไพล์เหมือนกัน --callee-บันทึก สตริงตัวเลือก

--debug
เมื่อใช้ตัวเลือกนี้ คอมไพเลอร์จะสร้างข้อมูลการดีบัก ซึ่งสามารถ
ใช้กับไฟล์ สดีดีบี. ข้อมูลการดีบักถูกรวบรวมในไฟล์ที่มี .cdb
การขยาย.

--regeextend
ตัวเลือกนี้ล้าสมัยและไม่รองรับอีกต่อไป

--noregparms
ตัวเลือกนี้ล้าสมัยและไม่รองรับอีกต่อไป

--peep-ไฟล์
ตัวเลือกนี้สามารถใช้เพื่อใช้กฎเพิ่มเติมเพื่อใช้โดยช่องมองลอด
เครื่องมือเพิ่มประสิทธิภาพ

-S หยุดหลังจากขั้นตอนการรวบรวมที่เหมาะสม อย่าประกอบ ผลลัพธ์คือ
ไฟล์รหัสแอสเซมเบลอร์สำหรับไฟล์อินพุตที่ระบุ

-วา_asmOption[,asmOption]...]
ส่ง asmOption ไปยังแอสเซมเบลอร์

-Wl_linkOption[,linkOption]...]
ส่งลิงค์ตัวเลือกไปยังตัวเชื่อมโยง

--int-ยาว-reent
ไลบรารีจำนวนเต็ม (16 บิต) และแบบยาว (32 บิต) ได้รับการคอมไพล์เป็น reentrant บันทึก
โดยค่าเริ่มต้น ไลบรารีเหล่านี้จะถูกคอมไพล์เป็นแบบ non-reentrant

--ไซโคลมาติก
ตัวเลือกนี้จะทำให้คอมไพเลอร์สร้างข้อความข้อมูลสำหรับแต่ละ
ฟังก์ชันในไฟล์ต้นทาง ข้อความนี้มีข้อมูลสำคัญเกี่ยวกับ
ฟังก์ชั่น. จำนวนขอบและโหนดที่คอมไพเลอร์ตรวจพบในตัวควบคุม
กราฟการไหลของฟังก์ชัน และที่สำคัญที่สุดคือความซับซ้อนของวัฏจักร

--Float-reent
ไลบรารีจุดลอยตัวถูกคอมไพล์เป็น reentrant

--ไม่มีโอเวอร์เลย์
คอมไพเลอร์จะไม่ซ้อนทับพารามิเตอร์และตัวแปรท้องถิ่นของฟังก์ชันใด ๆ ดู
ส่วนพารามิเตอร์และตัวแปรท้องถิ่นสำหรับรายละเอียดเพิ่มเติม

--หลัก-กลับ
อ็อพชันนี้สามารถใช้ได้เมื่อโปรแกรมมอนิเตอร์เรียกโค้ดที่สร้าง
คอมไพเลอร์จะสร้าง 'ret' เมื่อกลับมาจากฟังก์ชัน 'main' NS
ตัวเลือกเริ่มต้นคือการล็อคเช่นสร้าง 'ljmp'

--no-มองลอด
ปิดใช้งานการเพิ่มประสิทธิภาพช่องมองภาพ

--มองลอด-asm
ส่งรหัสแอสเซมเบลอร์แบบอินไลน์ผ่านเครื่องมือเพิ่มประสิทธิภาพช่องมองลอด ซึ่งอาจทำให้
การเปลี่ยนแปลงที่ไม่คาดคิดในโค้ดแอสเซมเบลอร์แบบอินไลน์ โปรดผ่านช่องมอง
กฎเครื่องมือเพิ่มประสิทธิภาพที่กำหนดไว้ในแผนผังไฟล์ต้นทาง ' /peeph.def' ก่อนใช้
ตัวเลือกนี้

--iram-ขนาด
ทำให้ตัวเชื่อมโยงตรวจสอบว่าการใช้ ram ภายในอยู่ภายในขอบเขตที่กำหนดหรือไม่
มูลค่า

--nostdincl
สิ่งนี้จะป้องกันไม่ให้คอมไพเลอร์ส่งผ่านค่าเริ่มต้นรวมถึงเส้นทางไปยัง
พรีโปรเซสเซอร์

--nostdlib
สิ่งนี้จะป้องกันไม่ให้คอมไพเลอร์ส่งผ่านเส้นทางไลบรารีเริ่มต้นไปยัง
ลิงค์เกอร์.

--รายละเอียด
แสดงการดำเนินการต่างๆ ที่คอมไพเลอร์กำลังดำเนินการ

-V แสดงคำสั่งจริงที่คอมไพเลอร์ดำเนินการ

ระดับกลาง DUMP OPTIONS


ตัวเลือกต่อไปนี้มีไว้เพื่อจุดประสงค์ในการกำหนดเป้าหมายใหม่และดีบั๊ก
คอมไพเลอร์ สิ่งเหล่านี้ให้วิธีการดัมพ์รหัสกลาง (iCode) ที่สร้างโดย
คอมไพเลอร์ในรูปแบบที่มนุษย์อ่านได้ในขั้นตอนต่างๆ ของกระบวนการรวบรวม

--dumpraw
ตัวเลือกนี้จะทำให้คอมไพเลอร์ดัมพ์โค้ดระดับกลางลงในไฟล์ของ
ชื่อ . ทิ้งขยะ หลังจากที่ได้รหัสกลางแล้ว
สร้างขึ้นสำหรับฟังก์ชัน กล่าวคือ ก่อนที่การเพิ่มประสิทธิภาพจะเสร็จสิ้น บล็อคพื้นฐาน
ในขั้นนี้สั่งในเชิงลึกหมายเลขแรกจึงอาจไม่อยู่ในลำดับของ
การดำเนินการ

--dumpgcse
จะสร้างการถ่ายโอนข้อมูลของ iCode หลังจากกำจัดนิพจน์ย่อยทั่วโลกลงในไฟล์
ชื่อ .dumpgcse

--dumpdeadcode
จะสร้างดัมพ์ของ iCode หลังจากกำจัด deadcode ลงในไฟล์ชื่อ
.dumpdeadcode.

--ขยะ
จะสร้างดัมพ์ของ iCode หลังจากการเพิ่มประสิทธิภาพลูปลงในไฟล์ชื่อ
ชื่อไฟล์>.dumploop.

--ขยะมูลฝอย
จะสร้างดัมพ์ของ iCode หลังจากการวิเคราะห์ช่วงสดลงในไฟล์ชื่อ
ชื่อไฟล์>.dumprange.

--ดัมเรนจ์
จะทิ้งช่วงชีวิตของสัญลักษณ์ทั้งหมด

--dumpregมอบหมาย
จะสร้างดัมพ์ของ iCode หลังจากลงทะเบียนแล้ว ลงในไฟล์ชื่อ
ชื่อไฟล์>.dumprassgn.

--เกี๊ยว
จะสร้างดัมพ์ของช่วงสดของ iTemp's

--ดัมพ์
จะทำให้การทิ้งทั้งหมดที่กล่าวมาข้างต้นถูกสร้างขึ้น

การทำสำเนา


ซอร์สโค้ดทั้งหมดสำหรับคอมไพเลอร์เผยแพร่ภายใต้ GNU General Public License

ใช้ sdcc ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

คำสั่ง Linux

Ad




×
โฆษณา
❤️ช้อป จอง หรือซื้อที่นี่โดยไม่เสียค่าใช้จ่าย ช่วยให้บริการต่างๆ ฟรี