| MKC_CHECK_DECL(1) | MKC_CHECK_DECL(1) |
نام (NAME)
mkc_check_decl - بررسی وجود define، متغیر، تابع، نوع داده، عضو ساختار یا پیشنمونهٔ تابع
خلاصه دستور (SYNOPSIS)
mkc_check_decl [OPTIONS] <check_type> <what> [headers...]
توضیحات (DESCRIPTION)
آرگومان check_type یکی از مقادیر define، variable، func[0-9]، funcordefine[0-9]، type، member یا prototype است. بسته به مقدار آن، mkc_check_decl بهترتیب وجود یک define، متغیر، تابع با تعداد مشخصشدهای از آرگومانها (یا define معادل در صورت استفاده از funcordefine[0-9])، نوع داده، عضو یک ساختار یا پیشنمونهٔ یک تابع (prototype) را در headers مشخصشده از طریق کامپایل یک برنامهٔ آزمایشی بررسی میکند. headers میتواند یک فایل سرایند تکی یا فهرستی از فایلهای سرایند جدا شده با کاما باشد. در نتیجه، mkc_check_decl مقدار 1 (موفقیت) یا 0 (شکست) را در stdout چاپ میکند. بهطور پیشفرض، فایلهای موقت و حافظهٔ پنهان به صورت _mkc_<check_type>_<what>_<lheader_h>.{c,err,res} در دایرکتوری MKC_CACHEDIR ایجاد میشوند. در اینجا، lheader_h آخرین فایل سرایند در فهرست جدا شده با کامای headers است.
گزینهها (OPTIONS)
محیط (ENVIRONMENT)
- CC
- کامپایلر. بهطور پیشفرض از cc استفاده میشود.
- CPPFLAGS, CFLAGS
- گزینههای ارسالی به کامپایلر، برای نمونه -I برای مشخص کردن دایرکتوریهای اضافیِ حاوی فایلهای سرایند.
- MKC_VERBOSE
- اگر برابر با 1 تنظیم شود، پیامهای با جزئیات بیشتر به stderr خروجی داده میشوند.
- MKC_SHOW_CACHED
- اگر برابر با 1 تنظیم شود و MKC_VERBOSE نیز برابر با 1 باشد، نتایج ذخیرهشده در حافظهٔ پنهان به stderr فرستاده میشوند.
- MKC_COMMON_HEADERS
- فهرستی از فایلهای سرایند برای افزودن به برنامهٔ آزمایشی .c.
- MKC_CACHEDIR
- دایرکتوری محل ایجاد فایلهای موقت و حافظهٔ پنهان. در صورت عدم تنظیم، در دایرکتوری جاری ایجاد میشوند.
- MKC_NOCACHE
- تمامی نتایج در حافظهٔ پنهان ذخیره میشوند، مگر اینکه متغیر MKC_NOCACHE برابر با 1 تنظیم شده باشد.
- MKC_DELETE_TMPFILES
- اگر برابر با 1 تنظیم شود، فایلهای موقت حذف میشوند.
مثالها (EXAMPLES)
mkc_check_decl define __GNUC__ mkc_check_decl define RTLD_LAZY dlfcn.h mkc_check_decl define FTS_W sys/types.h,sys/stat.h,fts.h mkc_check_decl variable sys_errlist errno.h mkc_check_decl variable __malloc_hook malloc.h mkc_check_decl func3 poll poll.h mkc_check_decl func2 fgetln stdio.h mkc_check_decl type mbstate_t wchar.h mkc_check_decl type long-long mkc_check_decl member tm.tm_isdst time.h mkc_check_decl member ifreq.ifr_addr.sa_len net/if.h mkc_check_decl member struct-stat.st_mtimespec sys/stat.h mkc_check_decl prototype 'int connect(int,const struct sockaddr*,socklen_t)' sys/socket.h mkc_check_decl prototype 'int connect(int,struct sockaddr*,socklen_t)' sys/socket.h
محتوای فایل C (C FILE CONTENT)
- define
-
#include <header1.h> ... #include <headerN.h> #if defined(WHAT) int func(void) { return 0; } #else #error "WHAT is not a define" #endif - variable
-
#include <header1.h> ... #include <headerN.h> int func(void) { return sizeof ((WHAT)) && (&WHAT != 0); } - func3 (مثال برای تابع با ۳ آرگومان)
-
#include <header1.h> ... #include <headerN.h> void func (void) { if (WHAT) return; WHAT(0,0,0); } - funcordefine3 (مثال برای تابع/define با ۳ آرگومان)
-
#include <header1.h> ... #include <headerN.h> void func (void) { WHAT(0,0,0); } - type
-
#include <header1.h> ... #include <headerN.h> int func(void) { return sizeof (WHAT); } - member (مثال برای struct stat.st_mtimespec)
-
#include <sys/stat.h> int func(void) { struct_stat var; return sizeof (var.st_mtimespec); } - prototype (مثال برای تابع void ttt(int,char**))
-
#include <header1.h> ... #include <headerN.h> void func (void); void func2 (void); void func (void) { if (ttt) return; } void ttt(int, char**); void func2 (void) { if (ttt) return; }
نویسندگان (AUTHORS)
Aleksey Cheusov <vle@gmx.net>
| December 2, 2023 |