اسکریپتینگ در ++C
کامپایلر Cling یک مترجم تعاملی برای سیپلاسپلاس است، این مترجم تحت بالاترین کتابخانههای Clang و LLVM ساخته شده است. در واقع از آنجایی که کامپایلر Clang از آخرین ویژگیها و استانداردهای زبان سیپلاسپلاس پشتیبانی میکند، Cling اجازه میدهد تا توسعهدهندگان اسکریپتهای خود را با استفاده از C
و C++
بنویسند. اگر شما به طور مستقیم مترجم را اجرا کنید، یک محیط زنده برای آغاز برنامه نویسی با سیپلاسپلاس را خواهید داشت که به عنوان بخشی از استاندارد نحو سی و سیپلاسپلاس به شمار میآید. همچنین میتوانید دیگر دستورات را با نقطهٔ "."
آغاز در اختیار داشته باشید.
وقتی از مترجم تعاملی استفاده میکنید، میتوانید کد زیر را بنویسید:
#include <stdio.h>
printf("hello world\n");
همانطور که میبینید نیازی نیست تا در مورد حوزهٔ دامنهها نگران باشید؛ کافی است شما تابع مورد نظر خود را صدا بزنید.
اگر قصد شما این است که از Cling به عنوان یک مترجم برای ساخت اسکریپتها استفاده کنید، باید همه چیز را در داخل یک تابع قرار دهید.چرا که نقطهٔ ورود به اسکریپت به طور پیشفرض همانند نام فایل میباشد. میتوان آن را برای صدا زدن دیگر توابع سفارشی سازی کرد. بنابراین مثال قبل میتوانید به شکل زیر تغییر کند:
#include <stdio.h>
void _01_hello_world() {
printf("foo\n");
}
یک نسخهٔ دیگر در قالب سیپلاسپلاس
#include <iostream>
void _02_hello_world()
{
std::cout << "Hello world" << std::endl;
}
مثالها کاملاً ساده هستند، اما آنها به شما نشان میدهند که چگونه باید شروع کنید.
در مورد کیوت چطور؟
#include <QtWidgets/qapplication.h>
#include <QtWidgets/qpushbutton.h>
void _03_basic_qt()
{
int argc = 0;
QApplication app(argc, nullptr);
QPushButton button("Hello world");
QObject::connect(&button, &QPushButton::pressed, &app, &QApplication::quit);
button.show();
app.exec();
}
اما توجه داشته باشید که کد قبلی کار نخواهد کرد، شما باید برخی از پارامترهای سفارشی را در Cling مشخص کنید.
cling -I/usr/include/x86_64-linux-gnu/qt5 -fPIC -lQt5Widgets 03_basic_qt.cpp
شما میتوانید Cling را برای خودتان بر اساس آن چیزی که برای اسکریپت خود نیاز دارید سفارشی سازی کنید. همچنین شما میتوانید Cling را به عنوان یک کتابخانه در اپلیکیشنهای خود آورده و از سیپلاسپلاس به عنوان زبان برنامهنویسی استفاده کنید. این پُست در آینده ادامه خواهد داشت.
- 2
- 3
- 1
0 دیدگاه
نظرهای پیشنهاد شده
هیچ دیدگاهی برای نمایش وجود دارد.