ນີ້ແມ່ນຄໍາສັ່ງ clang-modernize-3.5 ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
clang-modernize - ໜ້າຄູ່ມືສຳລັບ clang-modernize 3.5
ລາຍລະອຽດ
ການນໍາໃຊ້: clang-modernize [ທາງເລືອກ] [ ...]
ທາງເລືອກ:
ຕົວເລືອກການຈັດຮູບແບບ:
- ຮູບແບບ - ເປີດໃຊ້ງານຮູບແບບຂອງລະຫັດການປ່ຽນແປງໂດຍການນໍາໃຊ້ການທົດແທນ.
ການນໍາໃຊ້ -ແບບ ເພື່ອເລືອກຮູບແບບການຈັດຮູບແບບ.
-style=- ຮູບແບບການຂຽນລະຫັດ, ປະຈຸບັນສະຫນັບສະຫນູນ:
LLVM, Google, Chromium, Mozilla, WebKit.
ການນໍາໃຊ້ -ແບບ=ເອກະສານ ເພື່ອໂຫຼດການຕັ້ງຄ່າຮູບແບບຈາກ
ໄຟລ໌ .clang-format ທີ່ຕັ້ງຢູ່ໃນໜຶ່ງໃນໄດເຣັກທໍຣີຫຼັກຂອງໄຟລ໌ແຫຼ່ງ (ຫຼື
ໄດເລກະທໍລີປະຈຸບັນສໍາລັບ stdin). ໃຊ້ -style="{key: value, ... }" ເພື່ອກໍານົດສະເພາະ
ຕົວກໍານົດການ, ເຊັ່ນ:
-style="{BasedOnStyle: llvm, IndentWidth: 8}"
-style-config=- ເສັ້ນທາງໄປຫາໄດເລກະທໍລີທີ່ມີໄຟລ໌ .clang-format
ອະທິບາຍຮູບແບບທີ່ຈະນໍາໃຊ້ສໍາລັບການຈັດຮູບແບບລະຫັດໃນເວລາທີ່ -ແບບ=ເອກະສານ.
ທາງເລືອກໃນການລວມ/ຍົກເວັ້ນ:
-ຍົກເວັ້ນ=- ລາຍຊື່ເສັ້ນທາງທີ່ແຍກກັນດ້ວຍເຄື່ອງໝາຍຈຸດທີ່ບໍ່ສາມາດປ່ຽນໄດ້
-exclude-from=- ໄຟລ໌ທີ່ມີບັນຊີລາຍຊື່ຂອງເສັ້ນທາງທີ່ບໍ່ສາມາດປ່ຽນໄດ້
-include=- ບັນຊີລາຍຊື່ເສັ້ນທາງທີ່ແຍກອອກຈາກຈຸດທີ່ຈະພິຈາລະນາທີ່ຈະໄດ້ຮັບການຫັນ
-include-from=- ໄຟລ໌ທີ່ປະກອບດ້ວຍບັນຊີລາຍການຂອງເສັ້ນທາງທີ່ຈະພິຈາລະນາທີ່ຈະຫັນເປັນ
ທາງເລືອກທີ່ທັນສະໄຫມ:
-final-syntax-check - ກວດເບິ່ງ syntax ທີ່ຖືກຕ້ອງຫຼັງຈາກນໍາໃຊ້ການຫັນປ່ຽນ
-for-compilers=- ເລືອກການຫັນປ່ຽນເປົ້າຫມາຍຕັດກັນຂອງ
ລັກສະນະພາສາທີ່ສະຫນັບສະຫນຸນໂດຍ compilers ທີ່ໃຫ້. ເອົາລາຍການທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດ
ຂອງ - .
ສາມາດເປັນອັນໃດກໍໄດ້: clang, gcc, icc, msvc
ແມ່ນ [. ]
-ຊ່ວຍ - ສະແດງທາງເລືອກທີ່ມີຢູ່ (-help-ເຊື່ອງ ສໍາລັບເພີ່ມເຕີມ)
- ລາຍການຊ່ວຍເຫຼືອ - ສະແດງລາຍການທາງເລືອກທີ່ມີຢູ່ (-help-list-hidden ສໍາລັບການ
ເພີ່ມເຕີມ)
-perf=- ເກັບກໍາຂໍ້ມູນການປະຕິບັດແລະຜົນຜະລິດໃນລະບົບທີ່ກໍານົດໄວ້.
ຄ່າເລີ່ມຕົ້ນ: ./migrate_perf
- ຄວາມສ່ຽງ - ເລືອກລະດັບຄວາມສ່ຽງສູງສຸດ:
=safe - ພຽງແຕ່ການຫັນເປັນທີ່ປອດໄພ
=ສົມເຫດສົມຜົນ
- ເປີດໃຊ້ງານການຫັນປ່ຽນທີ່ອາດຈະປ່ຽນຄວາມຫມາຍ (ຄ່າເລີ່ມຕົ້ນ)
=risky - ເປີດໃຊ້ການຫັນປ່ຽນທີ່ມີແນວໂນ້ມທີ່ຈະປ່ຽນ semantics
- ສະຫຼຸບ - ພິມບົດສະຫຼຸບການຫັນປ່ຽນ
-ການປ່ຽນແປງ - ສະແດງສະບັບຂອງໂຄງການນີ້
ທາງເລືອກ Serialization:
-serialize-dir=- ເສັ້ນທາງໄປຫາໄດເລກະທໍລີທີ່ມີຢູ່ແລ້ວທີ່ຈະຂຽນ
ການທົດແທນແບບ serialized. ພຶດຕິກຳເລີ່ມຕົ້ນແມ່ນການຂຽນໃສ່ໄດເລກະທໍລີຊົ່ວຄາວ.
-serialize-ທົດແທນ - Serialize ການທົດແທນຫົວຫນ່ວຍການແປພາສາກັບແຜ່ນແທນທີ່ຈະເປັນ
ການປ່ຽນແປງໄຟລ໌.
ການຫັນປ່ຽນ:
-add-override - ໃຊ້ຕົວລະບຸການ override ຖ້າເປັນໄປໄດ້
-loop-ແປງ - ໃຊ້ range-based ສໍາລັບ loops ບ່ອນທີ່ເປັນໄປໄດ້
- ຄ່າຜ່ານທາງ - ຜ່ານຕົວກໍານົດການໂດຍມູນຄ່າທີ່ເປັນໄປໄດ້
-replace-auto_ptr - ແທນທີ່ std::auto_ptr (ປະຕິເສດ) ໂດຍ std::unique_ptr
(ທົດລອງ)
-ໃຊ້ອັດຕະໂນມັດ - ການນໍາໃຊ້ຕົວກໍານົດປະເພດ 'ອັດຕະໂນມັດ
-use-nullptr - ໃຊ້ຄໍາສໍາຄັນ nullptr ບ່ອນທີ່ເປັນໄປໄດ້
ທາງເລືອກຂອງການຫັນປ່ຽນ:
-override-macros - ກວດຫາແລະນໍາໃຊ້ມະຫາພາກທີ່ຂະຫຍາຍໄປຫາຄໍາທີ່ 'override'.
-user-null-macro=- ບັນຊີລາຍຊື່ທີ່ແຍກກັນດ້ວຍເຄື່ອງໝາຍຈຸດຂອງຊື່ມະຫາພາກທີ່ກຳນົດໂດຍຜູ້ໃຊ້ທີ່ມີພຶດຕິກຳ
ຄື NULL
-p ຖືກນໍາໃຊ້ເພື່ອອ່ານຖານຂໍ້ມູນຄໍາສັ່ງລວບລວມ.
ຕົວຢ່າງ, ມັນສາມາດເປັນ CMake build directory ທີ່ໄຟລ໌ທີ່ມີຊື່
compile_commands.json ມີຢູ່ (ໃຊ້ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON CMake ທາງເລືອກ
ເພື່ອໃຫ້ໄດ້ຮັບຜົນຜະລິດນີ້). ໃນເວລາທີ່ບໍ່ມີເສັ້ນທາງການກໍ່ສ້າງຖືກກໍານົດ, ຄົ້ນຫາສໍາລັບ
compile_commands.json ຈະຖືກພະຍາຍາມຜ່ານເສັ້ນທາງຫຼັກທັງໝົດຂອງການປ້ອນຂໍ້ມູນທຳອິດ
ໄຟລ໌ . ເບິ່ງ: http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html ຕົວຢ່າງ
ການຕັ້ງຄ່າ Clang Tooling ເທິງຕົ້ນໄມ້ແຫຼ່ງ.
... ລະບຸເສັ້ນທາງຂອງໄຟລ໌ແຫຼ່ງ. ເສັ້ນທາງເຫຼົ່ານີ້ແມ່ນ
ຊອກຫາຢູ່ໃນຖານຂໍ້ມູນຄໍາສັ່ງລວບລວມ. ຖ້າເສັ້ນທາງຂອງໄຟລ໌ແມ່ນຢ່າງແທ້ຈິງ, ມັນ
ຕ້ອງການຊີ້ໃຫ້ເຫັນເຖິງຕົ້ນໄມ້ແຫຼ່ງຂອງ CMake. ຖ້າເສັ້ນທາງແມ່ນພີ່ນ້ອງ, ປະຈຸບັນ
ໄດເລກະທໍລີທີ່ເຮັດວຽກຕ້ອງຢູ່ໃນຕົ້ນໄມ້ແຫຼ່ງ CMake ແລະໄຟລ໌ຕ້ອງຢູ່ໃນ a
ໄດເລກະທໍລີຍ່ອຍຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນ. "./" ຄໍານໍາຫນ້າໃນໄຟລ໌ທີ່ກ່ຽວຂ້ອງ
ຈະຖືກເອົາອອກໂດຍອັດຕະໂນມັດ, ແຕ່ສ່ວນທີ່ເຫຼືອຂອງເສັ້ນທາງພີ່ນ້ອງຕ້ອງເປັນຄໍາຕໍ່ທ້າຍ
ເສັ້ນທາງໃນຖານຂໍ້ມູນຄໍາສັ່ງລວບລວມ.
ຕົວຢ່າງ:
ນຳໃຊ້ການຫັນປ່ຽນທັງໝົດໃນໄຟລ໌ທີ່ບໍ່ຕ້ອງການການລວບລວມຂໍ້ມູນ:
clang-modernize file.cpp
ແປງສໍາລັບ loops ເປັນ ranged-based ສໍາລັບ loops ສໍາລັບໄຟລ໌ທັງຫມົດໃນຖານຂໍ້ມູນການລວບລວມທີ່
ຂຶ້ນກັບໂຄງການຍ່ອຍ ແລະຈາກນັ້ນປະຕິຮູບລະຫັດອັດຕະໂນມັດໂດຍໃຊ້ຮູບແບບ LLVM:
clang-ທັນສະໄຫມ -p ສ້າງ/ເສັ້ນທາງ - ລວມທັງ ໂຄງການ/ເສັ້ນທາງ - ຮູບແບບ -loop-ແປງ
ໃຊ້ທັງ nullptr ແລະ override specifier, ໂດຍໃຊ້ git ls-files:
git ls-files '*.cpp' | xargs -I{} clang-modernize -p ສ້າງ/ເສັ້ນທາງ \
-use-nullptr -add-override -override-macros {}
ນຳໃຊ້ການຫັນປ່ຽນທັງໝົດທີ່ຮອງຮັບໂດຍທັງ clang >= 3.0 ແລະ gcc >= 4.7 ກັບ foo.cpp ແລະອັນໃດກໍໄດ້.
ລວມຫົວຂໍ້ໃນແຖບ:
clang-ທັນສະໄຫມ -for-compilers=clang-3.0,gcc-4.7 foo.cpp \
- ລວມທັງ ພາທະນາຍຄວາມ -- -std=c++ 11 -Ibar
ໃຊ້ clang-modernize-3.5 ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net