Amazon Best VPN GoSearch

OnWorks favicon

pmcpp - ອອນລາຍໃນຄລາວ

ເປີດໃຊ້ pmcpp ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ pmcpp ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


pmcpp - ໂປເຊດເຊີ preprocessor ງ່າຍດາຍສໍາລັບການປະຕິບັດການຮ່ວມ Pilot

ສະຫຼຸບສັງລວມ


pmcpp [- ປ] [-D ຊື່[=ມູນຄ່າ] ...] [-I dir ... ] [infile]

ລາຍລະອຽດ


pmcpp ສະໜອງເຄື່ອງປະມວນຜົນທາງສ່ວນໜ້າທີ່ງ່າຍດາຍຫຼາຍທີ່ອອກແບບມາເພື່ອການຈັດການ
ໄຟລ໌ Performance Metric Name Space (PMNS) ສໍາລັບ Performance Co-Pilot (PCP), ແຕ່ຕໍ່ມາ
generalized ເພື່ອສະຫນອງຕັນທີ່ມີເງື່ອນໄຂ, ປະກອບມີການປຸງແຕ່ງໄຟລ໌, ຄໍາສັ່ງ shell ໃນເສັ້ນ
ການປະຕິບັດແລະການທົດແທນມະຫາພາກສໍາລັບໄຟລ໌ທີ່ມັກ. ມັນຖືກນໍາໃຊ້ຫຼາຍທີ່ສຸດພາຍໃນ
ເພື່ອປະມວນຜົນໄຟລ໌ PMNS ຫຼັງຈາກ pmLoadNameSpace(3) ຫຼື pmLoadASCIINameSpace(3) ເອີ້ນວ່າ
ແລະກ່ອນການປະມວນຜົນໄຟລ໌ການຕັ້ງຄ່າສໍາລັບ pmlogger(1).

ສາຍການປ້ອນຂໍ້ມູນແມ່ນອ່ານຈາກ infile (ຫຼືການປ້ອນຂໍ້ມູນມາດຕະຖານຖ້າ infile ບໍ່ໄດ້ລະບຸ), ດໍາເນີນການ
ແລະຂຽນເປັນຜົນຜະລິດມາດຕະຖານ.

ຄຳເຫັນ C-style ທັງໝົດຂອງແບບຟອມ /* ... */ ຖືກຖອດອອກຈາກກະແສການປ້ອນຂໍ້ມູນ.

ບໍ່ມີມະຫາພາກທີ່ກຳນົດໄວ້ລ່ວງໜ້າສຳລັບ pmcpp ເຖິງແມ່ນວ່າ macro ອາດຈະຖືກກໍານົດໄວ້ໃນຄໍາສັ່ງ
ເສັ້ນ​ການ​ນໍາ​ໃຊ້​ -D ທາງເລືອກ, ບ່ອນທີ່ ຊື່ ແລະ ມູນຄ່າ ຕ້ອງປະຕິບັດຕາມກົດລະບຽບດຽວກັນກັບຄໍາອະທິບາຍ
ຂ້າງລຸ່ມນີ້ສໍາລັບ #ກໍານົດ ທິດທາງ.

pmcpp ຍອມຮັບຄໍາສັ່ງຕໍ່ໄປນີ້ໃນກະແສການປ້ອນຂໍ້ມູນ (ເຊັ່ນ: cpp(1)):

· #include "ຊື່​ເອ​ກະ​ສານ"
or
#include <ຊື່​ເອ​ກະ​ສານ>
ໃນກໍລະນີໃດກໍ່ຕາມເສັ້ນທາງຄົ້ນຫາໄດເລກະທໍລີສໍາລັບ ຊື່​ເອ​ກະ​ສານ ພະຍາຍາມ ຊື່​ເອ​ກະ​ສານ ກ່ອນອື່ນ ໝົດ, ຈາກນັ້ນ
ໄດເລກະທໍລີສໍາລັບເສັ້ນຄໍາສັ່ງ infile (ຖ້າມີ), ຕາມດ້ວຍໄດເລກະທໍລີທີ່ມີຊື່ຢູ່ໃນ -I
ການໂຕ້ຖຽງເສັ້ນຄໍາສັ່ງ, ແລະສຸດທ້າຍໄດ້ $PCP_VAR_DIR/ນາທີ ໄດເລກະທໍລີ (ອັນສຸດທ້າຍແມ່ນສໍາລັບ
ຄວາມເຂົ້າກັນໄດ້ໃນດ້ານຫຼັງກັບລຸ້ນກ່ອນໜ້າຂອງ pmcpp ແລະ​ໂດຍ​ຄວາມ​ຫມາຍ​ນໍາ​ໃຊ້​ຈາກ​
pmLoadASCIINameSpace(3)). #include ຄໍາສັ່ງອາດຈະຖືກວາງໄວ້, ສູງເຖິງຄວາມເລິກສູງສຸດຂອງ
5.

· #ຫອຍ "ຄໍາສັ່ງ"
or
#ຫອຍ 'ຄໍາສັ່ງ'
ໄດ້ ຫອຍ ຄໍາສັ່ງ ຈະຖືກປະຕິບັດແລະຜົນຜະລິດມາດຕະຖານຖືກໃສ່ເຂົ້າໄປໃນນ້ໍາ
ຂອງຂໍ້ມູນທີ່ຈະດໍາເນີນການໂດຍ pmcpp. ການເຮັດວຽກນີ້ແມ່ນຄ້າຍຄືກັນກັບ a #include
ຄໍາສັ່ງ, ຍົກເວັ້ນສາຍການປ້ອນຂໍ້ມູນແມ່ນອ່ານຈາກ a ຄໍາສັ່ງ ແທນທີ່ຈະເປັນໄຟລ໌. ໄດ້ #ຫອຍ
ຄໍາສັ່ງແມ່ນເປັນປະໂຫຍດທີ່ສຸດສໍາລັບການລວມຫຼືຍົກເວັ້ນ #ກໍານົດ or #ສຸດຍອດ ຄໍາແນະນໍາໂດຍອີງໃສ່
on run-time logic ໃນ ຄໍາສັ່ງ.

· #ກໍານົດ ຊື່ ມູນຄ່າ
or
#ກໍານົດ ຊື່ "ມູນຄ່າ"
or
#ກໍານົດ ຊື່ 'ມູນຄ່າ'
ກຳນົດຄ່າສຳລັບມະຫາພາກ ຊື່ ເຊິ່ງຕ້ອງເປັນຊື່ C-style ທີ່ຖືກຕ້ອງ, ດັ່ງນັ້ນຈຶ່ງນໍາ
ຕົວອັກສອນ ຫຼື ຂີດກ້ອງຕາມດ້ວຍຕົວເລກສູນ ຫຼື ຫຼາຍກວ່ານັ້ນ ຫຼື ຂີດກ້ອງ. ມູນຄ່າ
ເປັນທາງເລືອກ (ແລະຄ່າເລີ່ມຕົ້ນຂອງສະຕຣິງຫວ່າງເປົ່າ). ບໍ່ມີກົນໄກການຫລົບຫນີຕົວລະຄອນ,
ແຕ່ວົງຢືມດຽວຫຼືວົງຢືມຄູ່ອາດຈະຖືກນໍາໃຊ້ເພື່ອກໍານົດ a ມູນຄ່າ ມີພິເສດ
ຕົວອັກສອນ ຫຼື ຝັງພື້ນທີ່ສີຂາວຕາມແນວນອນ (ບໍ່ມີເສັ້ນໃໝ່).

· #ສຸດຍອດ ຊື່
ເອົາຄໍານິຍາມມະຫາພາກ, ຖ້າມີ, ສໍາລັບ ຊື່.

· #ifdef ຊື່
...
#ສຸດທ້າຍ
or
#ifndef ຊື່
...
#ສຸດທ້າຍ
ເສັ້ນປິດລ້ອມຈະຖືກລອກອອກຫຼືລວມ, ຂຶ້ນກັບມະຫາພາກ ຊື່ is
ກໍານົດຫຼືບໍ່.

· #ອື່ນ
ພາຍໃນກ #ifdef or #ifndef ຕັນ, #ອື່ນ ອາດຈະຖືກນໍາໃຊ້ເພື່ອ delimit ສາຍທີ່ຈະລວມຖ້າຫາກວ່າ
ເງື່ອນໄຂ ``ຖ້າ'' ກ່ອນໜ້າແມ່ນຜິດ.

ການທົດແທນ Macro ແມ່ນບັນລຸໄດ້ໂດຍການທໍາລາຍການປ້ອນຂໍ້ມູນເຂົ້າໄປໃນຄໍາສັບທີ່ແຍກດ້ວຍສີຂາວ
ຍະຫວ່າງ ຫຼືຕົວອັກສອນທີ່ບໍ່ຖືກຕ້ອງຢູ່ໃນຊື່ມະຫາພາກ, ເຊັ່ນວ່າບໍ່ແມ່ນຕົວເລກ ແລະບໍ່ແມ່ນຕົວເລກ
ຂີດກ້ອງ. ແຕ່ລະຄໍາຖືກກວດສອບແລະຖ້າມັນກົງກັບຊື່ມະຫາພາກ, ຄໍາຈະຖືກແທນທີ່ດ້ວຍ
ຄ່າມະຫາພາກ, ຖ້າບໍ່ດັ່ງນັ້ນຄໍາສັບຈະບໍ່ປ່ຽນແປງ.

ໂດຍທົ່ວໄປແລ້ວມີເສັ້ນຫນຶ່ງຜົນຜະລິດສໍາລັບແຕ່ລະສາຍການປ້ອນຂໍ້ມູນ, ເຖິງແມ່ນວ່າສາຍອາດຈະຫວ່າງເປົ່າຖ້າ
ຂໍ້​ຄວາມ​ໄດ້​ຖືກ​ຖອດ​ອອກ​ເນື່ອງ​ຈາກ​ການ​ຈັດ​ການ​ຄໍາ​ຄິດ​ເຫັນ​ຫຼື​ຄໍາ​ແນະ​ນໍາ​ເງື່ອນ​ໄຂ​.
ໃນ​ເວ​ລາ​ທີ່​ມີ​ການ​ປ່ຽນ​ແປງ​ໃນ​ນ​້​ໍ​າ​ການ​ປ້ອນ​ຂໍ້​ມູນ​, ສາຍ​ການ​ຜະ​ລິດ​ເພີ່ມ​ເຕີມ​ແມ່ນ​ການ​ຜະ​ລິດ​ຂອງ​
ແບບຟອມ:

# lineno "ຊື່ໄຟລ໌"

ເພື່ອຊີ້ບອກ ດັ່ງຕໍ່ໄປນີ້ ເສັ້ນຜົນຜະລິດກົງກັບຕົວເລກແຖວ lineno ຂອງການປ້ອນຂໍ້ມູນ
ເອກະສານ ຊື່​ເອ​ກະ​ສານ.

ໄດ້ -P argument ສະກັດກັ້ນການຜະລິດຂອງ linemarker ເຫຼົ່ານີ້.

ໄດ້ -s argument ປ່ຽນຮູບແບບການປ້ອນຂໍ້ມູນທີ່ຄາດໄວ້ຈາກ C-like ເປັນ shell-like (ບ່ອນທີ່ # ແມ່ນ a
ຄໍາ​ນໍາ​ຫນ້າ​ຄໍາ​ເຫັນ​)​. ນີ້ບັງຄັບໃຫ້ມີການປ່ຽນແປງດັ່ງຕໍ່ໄປນີ້ໃນ pmcpp ພຶດຕິກຳ:
· ຕົວ​ແທນ​ທີ່​ຈະ​ຄວບ​ຄຸມ​ການ​ປ່ຽນ​ແປງ​ຈາກ # to %, ດັ່ງນັ້ນ % ລວມມີ ຍົກ​ຕົວ​ຢ່າງ.
· ບໍ່​ມີ​ການ​ລົບ​ລ້າງ​ຄວາມ​ຄິດ​ເຫັນ​ແມ່ນ​ປະ​ຕິ​ບັດ​.

ເພື່ອໃຫ້ການຄວບຄຸມການຂະຫຍາຍມະຫາພາກທີ່ລະອຽດກວ່າ, ໄດ້ -r ທາງເລືອກຈໍາກັດການທົດແທນມະຫາພາກເປັນ
ຄໍາທີ່ກົງກັບຮູບແບບ #ຊື່ຫຼື #{ຊື່} ຫຼືຖ້າ -s ຖືກກໍານົດ, ຫຼັງຈາກນັ້ນ %ຊື່ຫຼື
%{ຊື່}. ໃນຮູບແບບນີ້, ມະຫາພາກ ຊື່ ຢູ່ຄົນດຽວໃນກະແສການປ້ອນຂໍ້ມູນຈະບໍ່ຖືກຂະຫຍາຍ,
ແນວໃດກໍ່ຕາມໃນສາຍການຄວບຄຸມ (ເຊັ່ນ: #ifdef) ມະ​ຫາ​ພາກ​ ຊື່ ຄວນຈະປາກົດຢູ່ຄົນດຽວໂດຍບໍ່ມີການອອກ
ຕົວອັກສອນຄຳນຳໜ້າ ຫຼືວົງເລັບໂຄ້ງ (ເບິ່ງຕົວຢ່າງຂ້າງລຸ່ມນີ້).

ທີ່ສໍາຄັນ cpp(1​) ລັກ​ສະ​ນະ​ທີ່​ມີ​ ບໍ່ ສະ ໜັບ ສະ ໜູນ ໂດຍ pmcpp ປະກອບມີ:
· Macros ກັບພາລາມິເຕີ - the pmcpp macros ຮອງຮັບພຽງແຕ່ສະຕຣິງທີ່ບໍ່ມີຕົວກໍານົດການ
ການທົດແທນ.
· # ຖ້າ ຕົວຢ່າງ
...
#ສຸດທ້າຍ
· ການ​ນໍາ​ໃຊ້ Nested ຂອງ​ #ifdef or #ifndef.
· Stripping ຄໍາ​ເຫັນ​ແບບ C++​, ເຊັ່ນ​ດຽວ​ກັນ​ກັບ // ຄໍາ​ເຫັນ​.
·​ການ​ຟື້ນ​ຕົວ​ຄວາມ​ຜິດ​ພາດ - ຄວາມ​ຜິດ​ພາດ​ຄັ້ງ​ທໍາ​ອິດ​ພົບ​ໂດຍ​ pmcpp ຈະຕາຍ.
· cpp(1) ທາງເລືອກແຖວຄໍາສັ່ງເຊັ່ນ: -o, -W, -U, ແລະ -x.

ຕົວຢ່າງ


┌───────────────────────────────────── ┐
│ ຄຳສັ່ງ: pmcpp
├────────────────── ┬─────────────────────
ການປ້ອນຂໍ້ມູນຜົນຜະລິດ
├──────────────────────── ┼───────────────────
│ │ #1" " │
│#define MYDOMAIN 27 │ │
│ │ │
│ root { │ ຮາກ { │
│ foo MYDOMAIN:0:0 │ foo 27:0:0 │
│} │ } │
└──────────────────────── ┴──────────────────
ສໍາລັບຕົວຢ່າງຕໍ່ໄປນີ້, ໄຟລ໌ ຄວາມຖີ່ ປະ​ກອບ​ດ້ວຍ​ສາຍ​:
% ກໍານົດ dk_freq 1 ນາທີ
% ກໍານົດ cpu_freq '15 ວິນາທີ'

┌──────────────────────────────────────── ────────────────────────┐
│ ຄຳສັ່ງ: pmcpp -rs
├───────────────────────────────────────────── ────────────────────────┤
ການປ້ອນຂໍ້ມູນຜົນຜະລິດ
├─────────────────────────────────────────── ────────────────────────┤
│# ໄດ້​ຮັບ​ຄວາມ​ຖີ່​ຂອງ​ການ​ເຂົ້າ​ສູ່​ລະ​ບົບ │ # ໄດ້​ຮັບ​ຄວາມ​ຖີ່​ຂອງ​ການ​ບັນ​ທຶກ │
│# ຕົວຢ່າງ dk_freq macro │ # ຕົວຢ່າງ dk_freq macro │
│% ລວມມີ "ຄວາມຖີ່" │ │
│ │ │
│ ບັນທຶກບັງຄັບຢູ່ໃນ %dk_freq { │ ບັນທຶກບັງຄັບໃນ 1 ນາທີ { │
│ disk.dev │ disk.dev │
│} │ } │
│ │ │
│# note no % for want_cpu here │ # note no % for want_cpu here │
│%ifdef want_cpu │ │
│%define cpu_pfx 'kernel.all.cpu.' │ │
│log ບັງຄັບຢູ່ໃນ %cpu_freq { │ │
│ %{cpu_pfx}ຜູ້ໃຊ້ │ │
│ %{cpu_pfx}sys │ │
│} │ │
│%endif │ │
└──────────────────────────────────────────── ────────────────────────┘
┌──────────────────────────────────────── ────────────────────────┐
│ ຄຳສັ່ງ: pmcpp -rs -Dwant_cpu
├───────────────────────────────────────────── ────────────────────────┤
ການປ້ອນຂໍ້ມູນຜົນຜະລິດ
├─────────────────────────────────────────── ────────────────────────┤
│# ໄດ້​ຮັບ​ຄວາມ​ຖີ່​ຂອງ​ການ​ເຂົ້າ​ສູ່​ລະ​ບົບ │ # ໄດ້​ຮັບ​ຄວາມ​ຖີ່​ຂອງ​ການ​ບັນ​ທຶກ │
│# ຕົວຢ່າງ dk_freq macro │ # ຕົວຢ່າງ dk_freq macro │
│% ລວມມີ "ຄວາມຖີ່" │ │
│ │ │
│ ບັນທຶກບັງຄັບຢູ່ໃນ %dk_freq { │ ບັນທຶກບັງຄັບໃນ 1 ນາທີ { │
│ disk.dev │ disk.dev │
│} │ } │
│ │ │
│# note no % for want_cpu here │ # note no % for want_cpu here │
│%ifdef want_cpu │ │
│%define cpu_pfx 'kernel.all.cpu.' │ │
│log ບັງຄັບໃນ %cpu_freq { │ ບັນທຶກບັງຄັບໃນ 15 ວິນາທີ { │
│ %{cpu_pfx}ຜູ້ໃຊ້ │ kernel.all.cpu.user │
│ %{cpu_pfx}sys │ kernel.all.cpu.sys │
│} │ } │
│%endif │ │
└──────────────────────────────────────────── ────────────────────────┘

PCP ENVIRONMENT


ຕົວແປສະພາບແວດລ້ອມທີ່ມີຄໍານໍາຫນ້າ PCP_ ຖືກນໍາໃຊ້ເພື່ອກໍານົດໄຟລ໌ແລະໄດເລກະທໍລີ
ຊື່ທີ່ໃຊ້ໂດຍ PCP. ໃນແຕ່ລະການຕິດຕັ້ງ, ໄຟລ໌ /etc/pcp.conf ປະກອບມີຄ່າທ້ອງຖິ່ນ
ສໍາລັບຕົວແປເຫຼົ່ານີ້. ໄດ້ $PCP_CONF ຕົວແປອາດຈະຖືກໃຊ້ເພື່ອລະບຸທາງເລືອກ
ໄຟລ໌ການຕັ້ງຄ່າ, ດັ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນ pcp.conf(5).

ໃຊ້ pmcpp ອອນໄລນ໌ ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

Linux ຄຳ ສັ່ງ

Ad




×
ການ​ໂຄ​ສະ​ນາ
?ຊື້ເຄື່ອງ, ຈອງ, ຫຼືຊື້ທີ່ນີ້ — ບໍ່ມີຄ່າໃຊ້ຈ່າຍ, ຊ່ວຍໃຫ້ການບໍລິການຟຣີ.