.\" Man page generated from reStructuredText .\" by the Docutils 0.23 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "LLVM2LCOV" "1" "2026-07-07" "2.5" "LCOV" .SH "نام (NAME)" llvm2lcov \- مستندات llvm2lcov .INDENT 0.0 .TP .B بخش راهنما 1 .TP .B گروه راهنما ابزارهای LCOV .UNINDENT .SH "نام (NAME)" .INDENT 0.0 .TP .B llvm2lcov تبدیل داده‌های پوشش کد LLVM از profdata در \fBllvm\-cov\fP به قالب LCOV .UNINDENT .SH "خلاصه دستور (SYNOPSIS)" .INDENT 0.0 .INDENT 3.5 .sp .EX llvm2lcov [\-\-output filename] [\-\-testname name] [options] json_file [json_file ...] .EE .UNINDENT .UNINDENT .SH "توضیحات (DESCRIPTION)" .sp دستور \fBllvm2lcov\fP داده‌های پوشش کد C/C++ در قالب JSON (تولیدشده توسط \fBllvm\-cov export \-format=text ...\fP) را پیمایش کرده و آن‌ها را به قالب \fB\&.info\fP در LCOV تبدیل می‌کند. .sp توجه داشته باشید که LLVM از دو مسیر برای جمع‌آوری داده‌های پوشش کد پشتیبانی می‌کند: مسیری که در این صفحه شرح داده شده است \- بر اساس داده‌های پروفایل \- و یک \fIمسیر gcov\fP \- مشابه آنچه توسط \fBgcc\fP پشتیبانی می‌شود\&. برای جزئیات بیشتر درباره پشتیبانی از \fBgcov\fP در LLVM، مستندات LLVM را ببینید. .SH "پوشش MC/DC (MC/DC COVERAGE)" .sp برای تولید داده‌های MC/DC: .INDENT 0.0 .IP \(bu 2 از LLVM نسخه ۱۸ یا جدیدتر استفاده کنید (نسخه ۲۱ به بالا برای داده‌های تمیزتر MC/DC پیشنهاد می‌شود) .IP \(bu 2 ابزاردقیق‌سازی MC/DC را در مراحل کامپایل/پیوند با \fB\-fcoverage\-mcdc\fP فعال کنید .IP \(bu 2 پرچم \fB\-\-mcdc\-coverage\fP را به \fBllvm2lcov\fP ارسال کنید .UNINDENT .sp توجه داشته باشید که LLVM هنگام استفاده از مسیر جمع‌آوری داده‌های \fBgcov\fP از معیارهای MC/DC پشتیبانی نمی‌کند. .SH "گزینه‌ها (OPTIONS)" .sp افزون بر گزینه‌های عمومی که توسط ابزارهای دیگر در مجموعه LCOV پشتیبانی می‌شوند (\fIمانند\fP \fB\-\-comment\fP، \fB\-\-version\-script\fP، \fB\-\-ignore\-error\fP، \fB\-\-substitute\fP، \fB\-\-exclude\fP و \fIغیره\fP)، این ابزار گزینه‌های زیر را فراهم می‌کند: .INDENT 0.0 .TP .B \fB\-\-output\fP \fIfilename\fP, \fB\-o\fP \fIfilename\fP داده‌های LCOV در فایل مشخص‌شده نوشته خواهند شد. اگر از این گزینه استفاده نشود، داده‌ها در فایل \fBllvm2lcov.info\fP در دایرکتوری جاری نوشته می‌شوند. .TP .B \fB\-\-testname\fP \fIname\fP, \fB\-t\fP \fIname\fP اطلاعات پوشش کد با نام موردآزمون ارائه‌شده مرتبط خواهند شد. ارائه نام الزامی نیست. .TP .B \fB\-\-branch\-coverage\fP گنجاندن داده‌های پوشش شاخه در خروجی. .TP .B \fB\-\-mcdc\-coverage\fP گنجاندن داده‌های MC/DC در خروجی. نیازمند LLVM نسخه ۱۸ یا بالاتر به همراه فعال بودن ابزاردقیق‌سازی MC/DC در حین کامپایل است. .UNINDENT .sp برای جزئیات سایر گزینه‌ها و تنظیمات پیکربندی، \fBlcov(1) \%\fP و \fBlcovrc(5) \%\fP را ببینید. .SH "مثال‌ها (EXAMPLES)" .sp گردش کار پایه: .INDENT 0.0 .INDENT 3.5 .sp .EX # کامپایل به همراه ابزاردقیق‌سازی پوشش کد (شامل MC/DC) $ clang++ \-o myExe \-fprofile\-inst\-generate \-fcoverage\-mapping \e \-fcoverage\-mcdc myCode.cpp # اجرای موردآزمون‌ها $ ./myExe ... # تبدیل داده‌های پروفایل $ llvm\-profdata merge \-o myExe.profdata \-\-sparse *.profraw # برون‌بری داده‌های پوشش در قالب JSON $ llvm\-cov export \-format=text \-instr\-profile=myExe.profdata \e ./myExe > myExe.json # تبدیل به قالب LCOV $ llvm2lcov \-\-output myExe.info \-\-test\-name myTestcase \e \-\-mcdc\-coverage \-\-branch\-coverage myExe.json ... # تولید گزارش پوشش کد در قالب HTML $ genhtml \-o html_report myExe.info ... .EE .UNINDENT .UNINDENT .sp (\fB\&...\fP نشان‌دهنده سایر گزینه‌های ابزار است که ممکن است استفاده کنید \- \fIبرای مثال\fP، برای پالایش و مستثنی‌سازی.) .sp اجرای همین مثال از طریق \fBgcov\fP به این صورت است: .INDENT 0.0 .INDENT 3.5 .sp .EX # کامپایل با ابزاردقیق‌سازی gcov $ clang++ \-o myExe \-\-coverage myCode.cpp # اجرای موردآزمون‌ها $ ./myExe ... # تبدیل به قالب LCOV # توجه داشته باشید که گزینه \(aq\-\-gcov\-tool\(aq دو بار ذکر شده است: یک بار برای تعیین # ابزار و یک بار برای ارسال گزینه ابزار. برای اطلاعات بیشتر # به صفحه راهنمای lcov مراجعه کنید. $ lcov \-\-capture \-d . \-\-branch\-coverage \-o myExe.info \-\-gcov\-tool llvm\-cov \-\-gcov\-tool gcov ... # تولید گزارش پوشش کد در قالب HTML $ genhtml \-o html_report myExe.info ... .EE .UNINDENT .UNINDENT .SH "نویسندگان (AUTHORS)" .sp Henry Cox <\%> .SH "همچنین ببینید (SEE ALSO)" .sp \fBlcov(1) \%\fP, \fBgenhtml(1) \%\fP, \fBgeninfo(1) \%\fP, \fBlcovrc(5) \%\fP, .INDENT 0.0 .IP \(bu 2 مستندات LLVM: \% .IP \(bu 2 مستندات \fBllvm\-cov\fP: \% .UNINDENT .SH "کپی‌رایت و تکثیر (COPYRIGHT)" 2024-2026, LCOV Project .\" End of generated man page.