ภาษาอังกฤษภาษาฝรั่งเศสสเปน

Ad


ไอคอน Fav ของ OnWorks

makepp_build_algorithm - ออนไลน์ใน Cloud

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

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

โครงการ:

ชื่อ


makepp_build_algorithm -- วิธีที่ makepp รัน makefile

DESCRIPTION


ภายในของ Makepp แตกต่างจาก Unix มาตรฐานที่ทำในลักษณะพื้นฐาน หน้านี้
อธิบายปรัชญาต่างๆ อย่างละเอียด

ย้อนกลับ เมื่อเทียบกับ ข้างหน้า การอนุมาน
Makepp ทำงานในทิศทางตรงกันข้ามกับ Unix มาตรฐาน เครื่อง Unix แบบดั้งเดิม
ถูกกำหนดเป้าหมายให้สร้าง แล้วพบกฎที่ตรงกับอักขระใน
ชื่อไฟล์เป้าหมาย หากเป้าหมายเก่ากว่าการขึ้นต่อกันของกฎ แสดงว่าเป้าหมายนั้น
ถูกสร้างใหม่

ตัวอย่างเช่น พิจารณากฎรูปแบบนี้:

%.o: %.cxx
$(CXX) $(CXXFLAGS) -c $(อินพุต) -o $(เอาต์พุต)

เมื่อ make ตระหนักว่าจำเป็นต้องสร้างไฟล์ชื่อ "xyz.o" มันจะค้นหาผ่านรายการของ
รูปแบบกฎจนกว่าจะเห็นว่า "xyz.o" ตรงกับรูปแบบ "%.o" แล้วจึงนำไปใช้
กฎนี้

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

เมื่อ makepp พบกฎรูปแบบข้างต้น มันจะค้นหาไฟล์ทั้งหมดในไดเร็กทอรี
ตรงกับรูปแบบ "%.cxx" (เช่น "*.cxx") สำหรับแต่ละไฟล์เหล่านี้ มันจะจำ
ที่สามารถสร้างไฟล์ ".o" ที่สอดคล้องกันได้ ถ้าในเวลาต่อมา makepp พบว่ามัน
สามารถสร้างไฟล์ ".cxx" อื่นที่ไม่มีอยู่ได้ กฎนี้จะถูกนำมาใช้ด้วย
และไฟล์ ".o" ที่เกี่ยวข้องจะถูกทำเครื่องหมาย

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

· Wildcards สามารถจับคู่ไฟล์ที่ยังไม่มี แต่สามารถสร้างได้

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

· คลังเก็บใช้งานได้ง่ายกว่ามาก เนื่องจาก makepp รู้ล่วงหน้าว่าไฟล์อะไร
สามารถทำได้ (ดูรายละเอียดที่ makepp_repositories)

· สามารถกำหนดได้อย่างง่ายดายว่าไฟล์ใดที่สามารถสร้างได้ (ดูที่
ฟังก์ชัน "$(only_targets )"

· ฟังก์ชั่น "$(infer_objects)" ของ Makepp นั้นง่ายขึ้นอย่างมากโดยรู้ว่าอ็อบเจกต์คืออะไร
ใช้ได้

ไฟล์ เมื่อเทียบกับ เกี่ยวกับใจความ รูปแบบ
Makepp เชื่อมโยงคำสั่ง build กับไฟล์เป้าหมาย ไม่ใช่รูปแบบข้อความสำหรับ a
ชื่อไฟล์. ดังนั้นจึงไม่สับสนกับชื่อที่ต่างกันสำหรับไฟล์เดียวกัน ดังนั้น สำหรับ
ตัวอย่างเช่น makepp จะรู้ว่า "./xyz" และ "xyz" เป็นไฟล์เดียวกัน ในขณะที่ make . อื่น
สาธารณูปโภคอาจไม่

นี่เป็นสิ่งสำคัญอย่างยิ่งเพราะ (ต่างจากยี่ห้อมาตรฐาน) makepp โหลด makefiles
จากไดเร็กทอรีต่างๆ เพื่อให้ makefiles ค่อนข้างเป็นอิสระด้วย
ไม่มีตำแหน่งพิเศษที่กำหนดให้กับ makefile ระดับบนสุด แต่ละ makefile หมายถึงไฟล์ทั้งหมด
สัมพันธ์กับไดเร็กทอรีของตัวเอง ดังนั้นหากคุณโหลด makefile จากไดเรกทอรีย่อย
"other_stuff" และ makefile นั้นหมายถึง "../xyz" makepp จะตระหนักอีกครั้งว่า
ไฟล์เดียวกันที่อ้างถึงข้างต้น (มันจะไม่สับสนกับไดเร็กทอรีซอฟต์ลิงค์
ชื่อ.)

เก็บไว้ สร้าง ข้อมูล
Makepp เก็บข้อมูลมากขึ้นเกี่ยวกับแต่ละไฟล์ที่สร้างขึ้นนอกเหนือจากวันที่
ตราประทับ (ซึ่งเป็นสิ่งที่มาตรฐานให้ความสำคัญ) ข้อมูลนี้รวมถึง:

· ลายเซ็นของไฟล์นี้ในบิลด์ล่าสุด ดังนั้นเราจึงรู้ว่าไฟล์นั้นมี
การเปลี่ยนแปลง

· ชื่อของไฟล์การพึ่งพาแต่ละไฟล์ รวมถึงไฟล์และไฟล์อื่นๆ ที่อนุมาน
โดยอัตโนมัติ หากรายการนี้เปลี่ยนแปลง makepp จะถือว่าจำเป็นต้องสร้างใหม่

·ลายเซ็นของการพึ่งพาแต่ละครั้ง ด้วยวิธีนี้ makepp รู้ที่จะสร้างใหม่ไม่เพียงแต่เมื่อ
การขึ้นต่อกันนั้นใหม่กว่าเป้าหมาย แต่เมื่อพวกมันเปลี่ยนไปเลย สิ่งนี้ยังทำให้
มันเป็นไปได้ที่จะใช้ลายเซ็นประเภทอื่น ๆ เช่น checksums เข้ารหัสแทน
กว่าวันที่ไฟล์

· คำสั่ง build ทั้งหมด (และ cwd) วิธีนี้หากคุณเปลี่ยนคำสั่ง build
(เช่นเปลี่ยนตัวเลือกคอมไพเลอร์) makepp รู้ที่จะสร้างใหม่แม้ว่าไฟล์
ตัวเองไม่ได้เปลี่ยนแปลง

· สถาปัตยกรรม. หากคุณคอมไพล์โปรแกรมของคุณบน Linux แล้วเปลี่ยนเป็น
Solaris, makepp รู้โดยอัตโนมัติเพื่อคอมไพล์ทุกอย่างใหม่

Makepp สร้างไดเร็กทอรีย่อยในทุกไดเร็กทอรีที่เรียกว่า ".makepp" NS
สร้างข้อมูลสำหรับไฟล์ ชื่อไฟล์ ในไดเร็กทอรีถูกเก็บไว้ใน .makepp/ชื่อไฟล์. ถ้า
คุณลบไดเร็กทอรีย่อยนี้หรือแก้ไขไฟล์ makepp จะสร้างไฟล์ที่ได้รับผลกระทบใหม่ทั้งหมด

โดยปริยาย โหลด
หาก makepp พยายามสร้างเป้าหมายในไดเร็กทอรีและยังไม่มีกฎเกณฑ์
หรือหากกำลังค้นหาไฟล์ที่ตรงกับไวด์การ์ดในไดเร็กทอรี มันจะดูในนั้น
ไดเร็กทอรีเพื่อดูว่ามี makefile อยู่หรือไม่ ถ้าเป็นเช่นนั้น makefile จะถูกโหลด
อัตโนมัติ

ซึ่งหมายความว่าโดยปกติคุณไม่จำเป็นต้องบอก makepp อย่างชัดเจนว่าจะหาได้ที่ไหน
makefiles--สิ่งที่คุณต้องทำคืออ้างอิงไฟล์ในไดเร็กทอรีอื่นและ makepp will
ค้นหาวิธีสร้างโดยอัตโนมัติ

การโหลดโดยนัยจะเกิดขึ้นก็ต่อเมื่อไดเร็กทอรีสามารถเขียนถึงคุณได้ ดังนั้นหากคุณต้องการ
ป้องกันไม่ให้ makepp พยายามสร้างสิ่งต่าง ๆ ที่ไม่เคยเปลี่ยนแปลง เพียงแค่ทำ
ไดเร็กทอรีแบบอ่านอย่างเดียว

การโหลดโดยนัยจะไม่เกิดขึ้นหากคุณอยู่ในต้นไม้ใต้ a ไฟล์ RootMakepp (.mk) และ
makefile อื่นอยู่นอกต้นไม้นั้น หากคุณต้องการสิ่งนี้เพียงครั้งเดียว คุณสามารถให้
ตัวเลือก "--do-build="" เพื่อ makepp เพื่อให้ทุกอย่างภายนอกทรีสามารถสร้างได้ ถ้าคุณ
ต้องการสิ่งนี้เสมอ คุณสามารถใส่คำสั่ง "load_makefile" ไว้ที่ใดที่หนึ่งในทรี
เชื่อมต่อกับต้นไม้อย่างชัดเจน

หากการโหลดโดยนัยขัดขวางคุณ (เช่น makepp โหลด makefile มากเกินไปและทำให้สิ้นเปลือง
เวลา มิฉะนั้น คุณไม่ต้องการให้พยายามสร้างสิ่งทั้งหมดที่อธิบายไว้ใน
makefiles) คุณสามารถปิดมันสำหรับไดเร็กทอรีทั้งหมดโดยใช้คำสั่ง "--noimplicit_load"
ตัวเลือกบรรทัด หรือคุณสามารถปิดสำหรับไดเร็กทอรีที่เลือกโดยใช้ "no_implicit_load"
คำสั่งใน makefile ของคุณ

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


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

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

  • 1
    Phaser
    Phaser
    Phaser เป็นโปรแกรมเปิดที่รวดเร็ว ฟรี และสนุก
    ซอร์สเฟรมเวิร์กเกม HTML5 ที่นำเสนอ
    การแสดงผล WebGL และ Canvas ทั่ว
    เว็บเบราว์เซอร์เดสก์ท็อปและมือถือ เกม
    สามารถร่วม...
    ดาวน์โหลดเฟสเซอร์
  • 2
    เครื่องยนต์ VASSAL
    เครื่องยนต์ VASSAL
    VASSAL เป็นเอ็นจิ้นเกมสำหรับการสร้าง
    บอร์ดอิเล็กทรอนิกส์แบบดั้งเดิม
    และการ์ดเกม มันให้การสนับสนุนสำหรับ
    การเรนเดอร์ชิ้นส่วนเกมและการโต้ตอบ
    และ ...
    ดาวน์โหลด VASSAL Engine
  • 3
    OpenPDF - ทางแยกของ iText
    OpenPDF - ทางแยกของ iText
    OpenPDF เป็นไลบรารี Java สำหรับสร้าง
    และแก้ไขไฟล์ PDF ด้วย LGPL และ
    ใบอนุญาตโอเพ่นซอร์ส MPL OpenPDF คือ
    LGPL / MPL โอเพ่นซอร์สผู้สืบทอดของ iText
    แล้ว ...
    ดาวน์โหลด OpenPDF - Fork of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - ระบบอัตโนมัติ
    การวิเคราะห์ทางธรณีวิทยา - เป็นภูมิศาสตร์
    ซอฟต์แวร์ระบบสารสนเทศ (GIS) พร้อม
    ความสามารถอันยิ่งใหญ่สำหรับ geodata
    การประมวลผลและอนา...
    ดาวน์โหลด SAGA GIS
  • 5
    กล่องเครื่องมือสำหรับ Java/JTOpen
    กล่องเครื่องมือสำหรับ Java/JTOpen
    IBM Toolbox สำหรับ Java / JTOpen คือ
    ไลบรารีของคลาส Java ที่สนับสนุน
    ไคลเอนต์/เซิร์ฟเวอร์และโปรแกรมอินเทอร์เน็ต
    รุ่นไปยังระบบที่ใช้ OS/400,
    i5/โอเอส โอ...
    ดาวน์โหลดกล่องเครื่องมือสำหรับ Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (หรือ D3 สำหรับเอกสารที่ขับเคลื่อนด้วยข้อมูล)
    เป็นไลบรารี JavaScript ที่ช่วยให้คุณ
    เพื่อสร้างข้อมูลเชิงโต้ตอบแบบไดนามิก
    การแสดงภาพในเว็บเบราว์เซอร์ ด้วย D3
    คุณ...
    ดาวน์โหลด D3.js
  • เพิ่มเติม»

คำสั่ง Linux

  • 1
    อธิบดี
    อธิบดี
    abidiff - เปรียบเทียบ ABI ของไฟล์ ELF
    Abidiff เปรียบเทียบ Application Binary
    อินเทอร์เฟซ (ABI) ของสองไลบรารีที่ใช้ร่วมกัน
    ในรูปแบบเอลฟ์ มันเปล่งออกมาอย่างมีความหมาย
    รายงาน...
    เรียกใช้ abidiff
  • 2
    อาบิดวี
    อาบิดวี
    abidw - ทำให้เป็นอันดับ ABI ของ ELF
    ไฟล์ abidw อ่านไลบรารีที่ใช้ร่วมกันใน ELF
    จัดรูปแบบและปล่อยการแสดง XML
    ของ ABI ไปยังเอาต์พุตมาตรฐาน เดอะ
    ปล่อยออกมา ...
    วิ่งต่อไป
  • 3
    โคแพค2xml
    โคแพค2xml
    bibutils - การแปลงบรรณานุกรม
    ค่าสาธารณูปโภค ...
    เรียกใช้ copac2xml
  • 4
    ชาวอียิปต์โบราณ
    ชาวอียิปต์โบราณ
    copt - เครื่องมือเพิ่มประสิทธิภาพตาแมว SYSNOPIS:
    ไฟล์คอปต์ .. รายละเอียด: คอปต์คือไฟล์
    เครื่องมือเพิ่มประสิทธิภาพช่องมองสำหรับวัตถุประสงค์ทั่วไป มัน
    อ่านรหัสจากอินพุตมาตรฐานและ
    เขียน ...
    เรียกใช้ตำรวจ
  • 5
    Gather_stx_titles
    Gather_stx_titles
    Gather_stx_titles - รวบรวมชื่อเรื่อง
    ประกาศจากเอกสาร Stx ...
    เรียกใช้ Gather_stx_titles
  • 6
    ม้านั่ง Gatling
    ม้านั่ง Gatling
    ม้านั่ง - เกณฑ์มาตรฐาน http ...
    เรียกม้านั่ง Gatling
  • เพิ่มเติม»

Ad