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

Ad


ไอคอน Fav ของ OnWorks

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

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

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

โครงการ:

ชื่อ


m4 — ตัวประมวลผลมาโคร

เรื่องย่อ


m4 [-s] [-ด ชื่อ[=คลื่น]]... [−คุณ ชื่อ]... ไฟล์...

DESCRIPTION


พื้นที่ m4 ยูทิลิตี้เป็นตัวประมวลผลแมโครที่จะอ่านไฟล์ข้อความตั้งแต่หนึ่งไฟล์ขึ้นไป ประมวลผลไฟล์เหล่านั้น
ตามคำสั่งแมโครที่รวมไว้ และเขียนผลลัพธ์ไปยังเอาต์พุตมาตรฐาน

OPTIONS


พื้นที่ m4 ยูทิลิตี้จะต้องสอดคล้องกับปริมาณคำจำกัดความพื้นฐานของ POSIX.1-2008 Section 12.2,
ประโยชน์ วากยสัมพันธ์ แนวทางเว้นแต่คำสั่งของ -ด และ −คุณ ทางเลือกจะเป็น
สำคัญ และตัวเลือกสามารถสลับกับตัวถูกดำเนินการได้

รองรับตัวเลือกต่อไปนี้:

-s เปิดใช้งานเอาต์พุตการซิงโครไนซ์สายสำหรับ c99 เฟสพรีโปรเซสเซอร์ (นั่นคือ
#ไลน์ คำสั่ง)

-ด ชื่อ[=คลื่น]
กำหนด ชื่อ ไปยัง คลื่น หรือเป็นโมฆะถ้า =คลื่น ถูกละไว้

−คุณ ชื่อ ไม่ได้กำหนด ชื่อ.

ตัวดำเนินการ


ตัวถูกดำเนินการดังต่อไปนี้จะได้รับการสนับสนุน:

ไฟล์ ชื่อพาธของไฟล์ข้อความที่จะประมวลผล ถ้าไม่ ไฟล์ จะได้รับหรือถ้าเป็น '-',
อินพุตมาตรฐานจะต้องอ่าน

STDIN


อินพุตมาตรฐานต้องเป็นไฟล์ข้อความที่ใช้หากไม่มี ไฟล์ ตัวถูกดำเนินการให้หรือถ้ามัน
is '-'.

INPUT ไฟล์


ไฟล์อินพุตที่ตั้งชื่อโดย ไฟล์ ตัวถูกดำเนินการจะเป็นไฟล์ข้อความ

และพวกเรา ตัวแปร


ตัวแปรสภาพแวดล้อมต่อไปนี้จะส่งผลต่อการดำเนินการของ m4:

ภาษา ระบุค่าเริ่มต้นสำหรับตัวแปรการทำให้เป็นสากลที่ไม่ได้ตั้งค่าหรือ
โมฆะ. (ดูปริมาณคำจำกัดความพื้นฐานของ POSIX.1-2008 Section 8.2,
สากล ตัวแปร เพื่อความเหนือกว่าของความเป็นสากล
ตัวแปรที่ใช้ในการกำหนดค่าของหมวดหมู่สถานที่)

LC_ALL หากตั้งค่าเป็นค่าสตริงที่ไม่ว่าง ให้แทนที่ค่าของค่าอื่นๆ ทั้งหมด
ตัวแปรความเป็นสากล

LC_CTYPE กำหนดสถานที่สำหรับการตีความลำดับไบต์ของข้อมูลข้อความ
เป็นอักขระ (เช่น ไบต์เดี่ยวเมื่อเทียบกับอักขระหลายไบต์ใน
อาร์กิวเมนต์และไฟล์อินพุต)

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

นศ กำหนดตำแหน่งของแค็ตตาล็อกข้อความสำหรับการประมวลผลของ LC_MESSAGES.

อะซิงโครนัส กิจกรรม


ผิดนัด

STDOUT


เอาต์พุตมาตรฐานจะต้องเหมือนกับไฟล์อินพุต หลังจากประมวลผลสำหรับแมโคร
การขยายตัว

สแตเดอร์


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

เอาท์พุท ไฟล์


ไม่

ขยาย DESCRIPTION


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

การโทรมาโครมีรูปแบบ:

ชื่อ(หาเรื่อง1, หาเรื่อง2, ... , อาร์เจน)

ชื่อมาโครจะต้องประกอบด้วยตัวอักษร ตัวเลข และขีดล่าง โดยที่อักขระตัวแรก
ไม่ใช่ตัวเลข โทเค็นที่ไม่ใช่ของแบบฟอร์มนี้จะไม่ถือเป็นมาโคร

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

หากชื่อมาโครตามด้วยa , อาร์กิวเมนต์ของมันคือ
- โทเค็นที่แยกจากกันระหว่าง และการจับคู่
วงเล็บ>. อักขระ white-space ที่ไม่มีเครื่องหมายอัญประกาศนำหน้าอาร์กิวเมนต์แต่ละรายการจะถูกละเว้น
อักขระอื่นๆ ทั้งหมด รวมทั้งอักขระช่องว่างที่ต่อท้าย จะยังคงอยู่
ตัวอักษรที่อยู่ระหว่าง และ ตัวอักษรไม่ได้
กำหนดอาร์กิวเมนต์

อาร์กิวเมนต์ถูกกำหนดและอ้างอิงตามตำแหน่ง สตริง "$1" ในการกำหนดข้อความ
จะถูกแทนที่ด้วยอาร์กิวเมนต์แรก ระบบจะต้องสนับสนุนข้อโต้แย้งอย่างน้อยเก้าข้อ
สามารถอ้างอิงได้เฉพาะเก้าคนแรกโดยใช้สตริง "$1" ไปยัง "$9"รวม. NS
เชือก "$0" ถูกแทนที่ด้วยชื่อของมาโคร สตริง "$#" ถูกแทนที่ด้วย
จำนวนอาร์กิวเมนต์เป็นสตริง สตริง "$*" ถูกแทนที่ด้วยรายการของ .ทั้งหมด
ข้อโต้แย้ง คั่นด้วย ตัวอักษร สตริง "$@" ถูกแทนที่ด้วยรายการทั้งหมด
ของอาร์กิวเมนต์คั่นด้วย อักขระ และแต่ละอาร์กิวเมนต์ถูกยกมาโดยใช้เครื่องหมาย
สตริงการอ้างสิทธิ์ด้านซ้ายและขวาในปัจจุบัน สตริง "${" ทำให้เกิดพฤติกรรมที่ไม่ระบุรายละเอียด

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

ไม่ได้ให้ความหมายพิเศษกับอักขระใด ๆ ที่อยู่ระหว่างการจับคู่ซ้ายและขวา
สตริงที่อ้างอิง แต่สตริงที่อ้างอิงจะถูกละทิ้ง โดยค่าเริ่มต้น ด้านซ้าย
สตริงการอ้างถึงประกอบด้วยการเน้นหนัก (backquote) และสตริงการอ้างถึงที่ถูกต้อง
ประกอบด้วยสำเนียงเฉียบพลัน (เครื่องหมายคำพูดเดียว); ดูเพิ่มเติมที่ เปลี่ยนคำพูด แมโคร

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

พื้นที่ m4 ยูทิลิตีจะต้องจัดให้มีมาโครในตัวต่อไปนี้ พวกเขาสามารถกำหนดใหม่
แต่เมื่อทำเสร็จแล้วความหมายเดิมจะหายไป ค่าของพวกเขาจะเป็นโมฆะเว้นแต่
ระบุไว้เป็นอย่างอื่น ในคำอธิบายด้านล่าง คำว่า การกำหนด ข้อความ หมายถึงค่าของ
มาโคร: อาร์กิวเมนต์ที่สองของ กำหนด มาโครเหนือสิ่งอื่นใด ยกเว้น
อาร์กิวเมนต์แรกกับ ประเมิน มาโคร อาร์กิวเมนต์ตัวเลขทั้งหมดของมาโครในตัวจะเป็น
ตีความว่าเป็นค่าทศนิยม ค่าสตริงที่ผลิตเป็นข้อความกำหนดของ
Decr, ดีนัม, รวม, ดัชนี, lenและ ซิสวาล มาโครในตัวจะต้องอยู่ในรูปของa
ค่าคงที่ทศนิยมตามที่กำหนดไว้ในภาษาซี

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

เปลี่ยนคำพูด
พื้นที่ เปลี่ยนคำพูด มาโครจะตั้งค่าสตริงเครื่องหมายคำพูดเริ่มต้นและท้ายเครื่องหมายคำพูด ไม่มี
อาร์กิวเมนต์ สตริงเครื่องหมายคำพูดจะถูกตั้งค่าเป็นค่าเริ่มต้น (นั่นคือ `')
พฤติกรรมจะไม่ถูกระบุหากมีอาร์กิวเมนต์เดียวหรืออาร์กิวเมนต์ตัวใดตัวหนึ่งคือ
โมฆะ. ด้วยอาร์กิวเมนต์ที่ไม่เป็นค่าว่างสองอาร์กิวเมนต์ อาร์กิวเมนต์แรกจะกลายเป็นส่วนเริ่มต้น-
สตริงเครื่องหมายคำพูดและอาร์กิวเมนต์ที่สองจะกลายเป็นสตริงเครื่องหมายคำพูดสิ้นสุด ระบบ
จะสนับสนุนสตริงคำพูดอย่างน้อยห้าตัวอักษร

Decr ข้อความกำหนดของ Decr มาโครจะเป็นอาร์กิวเมนต์แรกที่ลดลงโดย
1. การระบุอาร์กิวเมนต์ที่ประกอบด้วยตัวเลขที่ไม่ใช่ตัวเลขจะเป็นข้อผิดพลาด
ตัวอักษร พฤติกรรมไม่ระบุถ้า Decr ไม่ได้ตามด้วย .ทันที
NS .

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

ป้องกัน ข้อความกำหนดของ ป้องกัน มาโครจะเป็นคำจำกัดความที่ยกมา (โดยใช้
สตริงการเสนอราคาปัจจุบัน) ของอาร์กิวเมนต์ พฤติกรรมไม่ระบุถ้า ป้องกัน
ไม่ได้ตามด้วย a . ทันที .

เบี่ยงเบน พื้นที่ m4 ยูทิลิตีรักษาบัฟเฟอร์ชั่วคราวเก้ารายการ ซึ่งรวมถึงหมายเลข 1 ถึง 9
เมื่ออินพุตสุดท้ายได้รับการประมวลผลแล้ว เอาต์พุตใดๆ ที่วางไว้
ในบัฟเฟอร์เหล่านี้จะต้องเขียนไปยังเอาต์พุตมาตรฐานในลำดับตัวเลขบัฟเฟอร์
พื้นที่ เบี่ยงเบน มาโครจะโอนเอาต์พุตในอนาคตไปยังบัฟเฟอร์ที่ระบุโดย
การโต้แย้ง. การระบุว่าไม่มีอาร์กิวเมนต์หรืออาร์กิวเมนต์เป็น 0 จะกลับมาเป็นปกติ
กระบวนการส่งออก เอาต์พุตที่เบี่ยงเบนไปยังกระแสที่มีจำนวนลบจะเป็น
ทิ้ง พฤติกรรมถูกกำหนดไว้สำหรับการนำไปใช้งานหากจำนวนสตรีมมากกว่า 9
ระบุไว้ มันจะเป็นข้อผิดพลาดในการระบุอาร์กิวเมนต์ที่มี
อักขระที่เป็นตัวเลข

ดีนัม ข้อความกำหนดของ ดีนัม มาโครจะเป็นจำนวนของเอาต์พุตปัจจุบัน
สตรีมเป็นสตริง

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

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

พิมพ์ผิด พื้นที่ พิมพ์ผิด แมโครจะเขียนอาร์กิวเมนต์ของข้อผิดพลาดมาตรฐาน พฤติกรรมคือ
ไม่ระบุหาก พิมพ์ผิด ไม่ได้ตามด้วย a . ทันที .

ประเมิน พื้นที่ ประเมิน มาโครจะประเมินอาร์กิวเมนต์แรกเป็นนิพจน์เลขคณิต
โดยใช้เลขคณิตแบบมีเครื่องหมายที่มีความแม่นยำอย่างน้อย 32 บิต อย่างน้อย
ตัวดำเนินการภาษา C ต่อไปนี้จะได้รับการสนับสนุนโดยมีความสำคัญ
ความเชื่อมโยงและพฤติกรรมตามที่อธิบายไว้ใน Section 1.1.2.1, คณิตศาสตร์
ความแม่นยำ และ การดำเนินการ:

()
ยูนารี +
ยูนารี -
~

!
ไบนารี่ *
/
%
เลขฐานสอง +
เลขฐานสอง −
<<
>>
<
<=
>
>=
==
!=
ไบนารี่ &
^
|
&&
||

ระบบจะต้องรองรับเลขฐานแปดและฐานสิบหกเช่นเดียวกับในมาตรฐาน ISO C
อาร์กิวเมนต์ที่สอง หากระบุไว้ จะกำหนดฐานสำหรับผลลัพธ์ ถ้า
อาร์กิวเมนต์ว่างเปล่าหรือไม่ระบุ ค่าเริ่มต้นคือ 10 พฤติกรรมไม่ระบุ if
ฐานอยู่นอกช่วง 2 ถึง 36 รวมอยู่ด้วย อาร์กิวเมนต์ที่สาม if
กำหนดจำนวนหลักขั้นต่ำในผลลัพธ์ พฤติกรรมคือ
ไม่ระบุหากอาร์กิวเมนต์ที่สามมีค่าน้อยกว่าศูนย์ มันจะเป็นข้อผิดพลาดในการ
ระบุอาร์กิวเมนต์ที่สองหรือสามที่มีอักขระที่ไม่ใช่ตัวเลข NS
พฤติกรรมไม่ระบุถ้า ประเมิน ไม่ได้ตามด้วย a . ทันที
วงเล็บ>.

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

ถ้า พื้นที่ ถ้า มาโครรับอาร์กิวเมนต์ตั้งแต่สามรายการขึ้นไป ถ้าสองอาร์กิวเมนต์แรก
เปรียบเทียบเป็นสตริงที่เท่ากัน (หลังจากการขยายมาโครของอาร์กิวเมนต์ทั้งสอง) การกำหนด
ข้อความจะเป็นอาร์กิวเมนต์ที่สาม ถ้าสองอาร์กิวเมนต์แรกไม่เปรียบเทียบเป็น
สตริงที่เท่ากันและมีสามอาร์กิวเมนต์ ข้อความที่กำหนดจะเป็นโมฆะ ถ้า
สองอาร์กิวเมนต์แรกไม่เปรียบเทียบเป็นสตริงที่เท่ากันและมีสี่หรือ
ห้าอาร์กิวเมนต์ ข้อความที่กำหนดจะเป็นอาร์กิวเมนต์ที่สี่ ถ้าสองตัวแรก
อาร์กิวเมนต์ไม่เปรียบเทียบเป็นสตริงที่เท่ากันและมีอาร์กิวเมนต์ตั้งแต่หกตัวขึ้นไป
อาร์กิวเมนต์สามข้อแรกจะถูกละทิ้งและการประมวลผลจะเริ่มต้นใหม่ด้วย
อาร์กิวเมนต์ที่เหลือ พฤติกรรมไม่ระบุถ้า ถ้า ไม่ใช่
ตามด้วย a . ทันที .

ประกอบด้วย ข้อความกำหนดสำหรับ ประกอบด้วย มาโครจะเป็นเนื้อหาของไฟล์ชื่อ
โดยอาร์กิวเมนต์แรก มันจะเป็นข้อผิดพลาดหากไฟล์ไม่สามารถอ่านได้ NS
พฤติกรรมไม่ระบุถ้า ประกอบด้วย ไม่ได้ตามด้วย a . ทันที
วงเล็บ>.

รวม ข้อความกำหนดของ รวม มาโครจะเป็นอาร์กิวเมนต์แรกที่เพิ่มขึ้นโดย
1. การระบุอาร์กิวเมนต์ที่ประกอบด้วยตัวเลขที่ไม่ใช่ตัวเลขจะเป็นข้อผิดพลาด
ตัวอักษร พฤติกรรมไม่ระบุถ้า รวม ไม่ได้ตามด้วย .ทันที
NS .

ดัชนี ข้อความกำหนดของ ดัชนี มาโครจะเป็นตำแหน่งอักขระตัวแรก (เป็น a
string) ในอาร์กิวเมนต์แรกที่สตริงที่ตรงกับอาร์กิวเมนต์ที่สองเริ่มต้นขึ้น
(ศูนย์กำเนิด) หรือ -1 หากอาร์กิวเมนต์ที่สองไม่เกิดขึ้น พฤติกรรมคือ
ไม่ระบุหาก ดัชนี ไม่ได้ตามด้วย a . ทันที .

len ข้อความกำหนดของ len มาโครจะเป็นความยาว (เป็นสตริง) ของ
อาร์กิวเมนต์แรก พฤติกรรมไม่ระบุถ้า len ไม่ได้ติดตามทันที
โดย .

m4ทางออก ออกจาก m4 คุณประโยชน์. หากระบุอาร์กิวเมนต์แรก จะเป็น exit
รหัส. ค่าเริ่มต้นคือศูนย์ จะเป็นข้อผิดพลาดในการระบุอาร์กิวเมนต์
ที่มีอักขระที่ไม่ใช่ตัวเลข

m4ห่อ อาร์กิวเมนต์แรกจะได้รับการประมวลผลเมื่อถึง EOF ถ้า m4ห่อ แมโคร
ใช้หลายครั้ง อาร์กิวเมนต์ที่ระบุจะถูกประมวลผลตามลำดับ
ซึ่งใน m4ห่อ มาโครถูกประมวลผล พฤติกรรมไม่ระบุถ้า m4ห่อ
ไม่ได้ตามด้วย a . ทันที .

ทำชั่วคราว ข้อความที่กำหนดต้องเป็นอาร์กิวเมนต์แรก โดยจะมีข้อความต่อท้าย 'NS' อักขระ
แทนที่ด้วย ID กระบวนการปัจจุบันเป็นสตริง ไม่ระบุพฤติกรรม
if ทำชั่วคราว ไม่ได้ตามด้วย a . ทันที .

มคส อาร์กิวเมนต์แรกจะเป็นเทมเพลตสำหรับสร้างไฟล์เปล่าด้วย
การลาก 'NS' อักขระแทนที่ด้วยอักขระจากชื่อไฟล์แบบพกพา
ชุดตัวอักษร. พฤติกรรมจะไม่ถูกระบุหากอาร์กิวเมนต์แรกไม่ลงท้ายด้วย
อย่างน้อยหก 'NS' ตัวอักษร หากสร้างไฟล์ชั่วคราวสำเร็จแล้ว
ข้อความที่กำหนดของมาโครจะเป็นชื่อของไฟล์ใหม่ ID ผู้ใช้
ของไฟล์จะถูกตั้งค่าเป็น ID ผู้ใช้ที่มีประสิทธิภาพของกระบวนการ รหัสกลุ่ม
ของไฟล์จะถูกตั้งค่าเป็น ID กลุ่มของไดเร็กทอรีหลักของไฟล์หรือ to
ID กลุ่มที่มีประสิทธิภาพของกระบวนการ บิตการอนุญาตการเข้าถึงไฟล์ถูกตั้งค่า
เพื่อให้มีเพียงเจ้าของเท่านั้นที่สามารถอ่านและเขียนไฟล์ได้โดยไม่คำนึงถึง
ปัจจุบัน อูมาสก์ ของกระบวนการ หากไม่สามารถสร้างไฟล์ได้ ข้อความกำหนด
ของมาโครจะเป็นสตริงว่าง พฤติกรรมไม่ระบุถ้า มคส
ไม่ได้ตามด้วย a . ทันที .

ป๊อปเดฟ พื้นที่ ป๊อปเดฟ มาโครจะลบคำจำกัดความปัจจุบันของอาร์กิวเมนต์ แทนที่
กับคำจำกัดความก่อนหน้านั้น หากไม่มีคำจำกัดความก่อนหน้านี้
มาโครไม่ได้กำหนดไว้ พฤติกรรมไม่ระบุถ้า ป๊อปเดฟ ไม่ได้ทันที
ตามด้วย .

พุชเดฟ พื้นที่ พุชเดฟ มาโครจะเท่ากับ กำหนด มาโครด้วยข้อยกเว้น
ว่ามันจะรักษาคำจำกัดความปัจจุบันสำหรับการดึงข้อมูลในอนาคตโดยใช้
ป๊อปเดฟ มาโคร พฤติกรรมไม่ระบุถ้า พุชเดฟ ไม่ได้ติดตามทันที
โดย .

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

รวม พื้นที่ รวม มาโครจะเท่ากับ ประกอบด้วย มาโคร เว้นแต่มัน
จะไม่ถือเป็นข้อผิดพลาดหากไฟล์ไม่สามารถเข้าถึงได้ ไม่ระบุพฤติกรรม
if รวม ไม่ได้ตามด้วย a . ทันที .

ย่อย ข้อความกำหนดสำหรับ ย่อย มาโครจะเป็นสตริงย่อยของตัวแรก
อาร์กิวเมนต์เริ่มต้นที่ตำแหน่งอักขระออฟเซ็ตศูนย์ที่ระบุโดยวินาที
การโต้แย้ง. อาร์กิวเมนต์ที่สาม หากระบุไว้ จะเป็นจำนวนอักขระถึง
เลือก; หากไม่ระบุอักขระจากจุดเริ่มต้นไปยังจุดสิ้นสุดของ
อาร์กิวเมนต์แรกจะกลายเป็นข้อความที่กำหนด จะต้องไม่เป็นความผิดพลาดในการ
ระบุจุดเริ่มต้นที่อยู่นอกเหนือจุดสิ้นสุดของอาร์กิวเมนต์แรกและการกำหนด
ข้อความจะเป็นโมฆะ จะเป็นข้อผิดพลาดในการระบุอาร์กิวเมนต์ที่มี any
อักขระที่ไม่ใช่ตัวเลข พฤติกรรมไม่ระบุถ้า ย่อย ไม่ใช่
ตามด้วย a . ทันที .

syscmd พื้นที่ syscmd แมโครจะตีความอาร์กิวเมนต์แรกเป็นบรรทัดคำสั่งเชลล์ NS
การกำหนดข้อความจะเป็นผลสตริงของคำสั่งนั้น ผลลัพธ์สตริง
จะไม่ถูกสแกนหามาโครอีกครั้งในขณะที่ตั้งค่าข้อความที่กำหนด ไม่มีเอาต์พุต
การเปลี่ยนเส้นทางจะดำเนินการโดย m4 คุณประโยชน์. ค่าสถานะออกจาก
สามารถเรียกข้อมูลคำสั่งได้โดยใช้คำสั่ง ซิสวาล มาโคร พฤติกรรมไม่ระบุถ้า
syscmd ไม่ได้ตามด้วย a . ทันที .

ซิสวาล ข้อความกำหนดของ ซิสวาล มาโครจะเป็นค่าทางออกของยูทิลิตี้
เรียกครั้งสุดท้ายโดย syscmd มาโคร (เป็นสตริง)

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

ติดตาม พื้นที่ ติดตาม มาโครจะปิดใช้งานการติดตามสำหรับมาโครที่ระบุเป็นอาร์กิวเมนต์
หรือหากไม่มีการระบุอาร์กิวเมนต์สำหรับมาโครทั้งหมด

แปล ข้อความกำหนดของ แปล มาโครจะเป็นอาร์กิวเมนต์แรกที่มีทุก
อักขระที่เกิดขึ้นในอาร์กิวเมนต์ที่สองแทนที่ด้วยที่สอดคล้องกัน
ตัวละครจากอาร์กิวเมนต์ที่สาม หากไม่มีการระบุอักขระทดแทนสำหรับ
อักขระต้นทางบางตัวเนื่องจากอาร์กิวเมนต์ที่สองยาวกว่าตัวที่สาม
อาร์กิวเมนต์ อักขระนั้นจะถูกลบออกจากอาร์กิวเมนต์แรกใน แปล's
กำหนดข้อความ พฤติกรรมจะไม่ถูกระบุหาก '-' ตัวอักษรปรากฏขึ้นภายใน
อาร์กิวเมนต์ที่สองหรือสามที่ใดก็ได้นอกเหนือจากอักขระตัวแรกหรือตัวสุดท้าย NS
พฤติกรรมไม่ได้ระบุหากอักขระเดียวกันปรากฏขึ้นมากกว่าหนึ่งครั้งใน
อาร์กิวเมนต์ที่สอง พฤติกรรมไม่ระบุถ้า แปล ไม่ได้ทันที
ตามด้วย .

กำหนดไม่ได้ พื้นที่ กำหนดไม่ได้ มาโครจะลบคำจำกัดความทั้งหมด (รวมถึงที่สงวนไว้โดยใช้
พุชเดฟ มาโคร) ของมาโครที่ตั้งชื่อตามอาร์กิวเมนต์ พฤติกรรมคือ
ไม่ระบุหาก กำหนดไม่ได้ ไม่ได้ตามด้วย a . ทันที .

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

EXIT สถานภาพ


ค่าทางออกต่อไปนี้จะถูกส่งคืน:

0 สำเร็จลุล่วง

>0 เกิดข้อผิดพลาด

ถ้า m4ทางออก ใช้มาโคร ค่าทางออกสามารถระบุได้โดยไฟล์อินพุต

ผลกระทบที่เกิด OF ข้อผิดพลาด


ผิดนัด

พื้นที่ ดังต่อไปนี้ ส่วน เป็น ข้อมูล.

ใบสมัคร การใช้


พื้นที่ ป้องกัน มาโครมีประโยชน์สำหรับการเปลี่ยนชื่อมาโคร โดยเฉพาะในตัว

ตั้งแต่ ประเมิน เป็นไปตามมาตรฐาน ISO C การดำเนินการบางอย่างมีพฤติกรรมที่ไม่ได้กำหนดไว้ ในบางส่วน
การใช้งาน การหาร หรือเศษเหลือศูนย์ทำให้เกิดสัญญาณอันตรายถึงชีวิต แม้ว่าการหาร
เกิดขึ้นที่สาขาลัดวงจรของ "&&" or "||". การดำเนินการใด ๆ ที่ล้นใน
เลขคณิตแบบมีเครื่องหมายทำให้เกิดพฤติกรรมที่ไม่ได้กำหนดไว้ ในทำนองเดียวกัน การใช้ เปลี่ยน ตัวดำเนินการด้วย a
จำนวนกะที่ไม่เป็นบวกและน้อยกว่าความแม่นยำไม่ได้กำหนดไว้ดังเช่น
เลื่อนจำนวนลบไปทางขวา ในอดีต การใช้งานทั้งหมดไม่เป็นไปตาม C-
กฎลำดับความสำคัญของภาษา: '~' และ '!' ต่ำกว่า '=='; '==' และ '!=' ไม่ต่ำกว่า
กว่า '<'และ '|' ไม่ต่ำกว่า '^'; การใช้อย่างเสรีของ "()" สามารถบังคับได้ตามต้องการ
ลำดับความสำคัญแม้กระทั่งกับการใช้งานที่ไม่เป็นไปตามข้อกำหนดเหล่านี้ นอกจากนี้บางแบบดั้งเดิม
นำไปปฏิบัติ '^' เป็นโอเปอเรเตอร์การยกกำลัง แม้ว่าการนำไปปฏิบัติส่วนใหญ่
ตอนนี้ใช้ "**" เป็นส่วนขยายเพื่อการนี้

เมื่อมีการกำหนดมาโครคูณผ่านทาง พุชเดฟ มาโครไม่ระบุว่า
กำหนด มาโครจะเปลี่ยนเฉพาะคำจำกัดความล่าสุด (ราวกับว่าโดย ป๊อปเดฟ และ
พุชเดฟ) หรือแทนที่ทั้งสแต็กของคำจำกัดความด้วยคำจำกัดความเดียว (ราวกับว่า
by กำหนดไม่ได้ และ พุชเดฟ). แอปพลิเคชันที่ต้องการพฤติกรรมเฉพาะสำหรับ กำหนด
มาโครในกรณีนี้สามารถกำหนดใหม่ได้ตามความเหมาะสม

แอปพลิเคชันควรใช้ มคส มาโครแทนของล้าสมัย ทำชั่วคราว มาโครสำหรับ
การสร้างไฟล์ชั่วคราว

ตัวอย่าง


ถ้าไฟล์ m4src ประกอบด้วยบรรทัด:

พื้นที่ ความคุ้มค่า of 'เวอร์' is "เวอร์".
ifdef('VER', ''เวอร์'' is กำหนด ไปยัง be เวอร์., VER is ไม่ กำหนดไว้)
ifelse(เวอร์, 1, ''เวอร์'' is 'VER'.)
ifelse(เวอร์, 2, ''เวอร์'' is 'VER'., ''เวอร์'' is ไม่ 2.)
ปลาย

แล้วคำสั่ง

m4 m4src

หรือคำสั่ง:

m4 −คุณ VER m4src

ให้ผลผลิต:

พื้นที่ ความคุ้มค่า of VER is "เวอร์".
VER is ไม่ ที่กำหนดไว้

VER ไม่ใช่ 2
ปลาย

คำสั่ง:

m4 -ด VER m4src

ให้ผลผลิต:

พื้นที่ ความคุ้มค่า of VER is "".
VER is กำหนด ไปยัง be .

VER ไม่ใช่ 2
ปลาย

คำสั่ง:

m4 -ด เวอร์=1 m4src

ให้ผลผลิต:

พื้นที่ ความคุ้มค่า of VER is "1/XNUMX/XNUMX"
VER is กำหนด ไปยัง be 1.
VER is 1.
VER is ไม่ 2.
ปลาย

คำสั่ง:

m4 -ด เวอร์=2 m4src

ให้ผลผลิต:

พื้นที่ ความคุ้มค่า of VER is "2/XNUMX/XNUMX"
VER is กำหนด ไปยัง be 2.

VER คือ 2
ปลาย

หลักการและเหตุผล


พฤติกรรมที่ใช้ระบบ V ในอดีตได้รับการปฏิบัติ "${" ในคำจำกัดความมาโครเป็นสองตัวอักษร
ตัวอักษร อย่างไรก็ตาม ลำดับนี้ไม่ได้กำหนดไว้เพื่อให้การนำไปใช้งานอาจเสนอให้
นามสกุลเช่น "${11}" หมายถึงพารามิเตอร์ตำแหน่งที่สิบเอ็ด มาโครยังสามารถ
กำหนดด้วยการใช้การอ้างอิงแบบซ้อนอย่างเหมาะสมเพื่อผลลัพธ์เป็นตัวอักษร "${" ในผลลัพธ์
หลังจากการสแกนใหม่จะลบเครื่องหมายคำพูดที่ซ้อนกัน

ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร แปล พฤติกรรมที่อิงตาม System V ในอดีตที่ได้รับการรักษา '-' ตามตัวอักษร; GNU
พฤติกรรมถือว่าเป็นช่วง เวอร์ชันมาตรฐานนี้อนุญาตการทำงานอย่างใดอย่างหนึ่ง

อนาคต ลู่ทาง


ไม่

ใช้ m4posix ออนไลน์โดยใช้บริการ 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