- 1. Qt ше?
Qt блогының авторларының бірі Cling утилитасын пайдалану тәжірибесімен бөлісті. Күнделікті мәселелерді шешу үшін оған бірнеше сценарий жазу керек болды және ол сценарий тілі ретінде C ++ тілін пайдаланды!!! Ол үшін ол Clang компиляторына негізделген және CERN жасаған C++ интерпретаторы болып табылатын Cling утилитасын пайдаланды.
Cling әзірлеушілерге C және C++ көмегімен сценарий жазуға мүмкіндік береді. Ол Clang компиляторын пайдаланатындықтан, ол C++ стандартының соңғы нұсқаларын қолдайды. Егер аудармашыны тікелей орындасаңыз, сізде C++ кодын жазуды бастауға болатын тірі орындау уақыты болады. Стандартты C/C++ синтаксисінің бөлігі ретінде «» деп басталатын бірнеше басқа пәрмендерді табасыз. (Нүкте).
Интерактивті аудармашыны пайдаланған кезде келесідей код жаза аласыз:
#include <stdio.h> printf("hello world\n");
Көріп отырғаныңыздай, аймақтар туралы алаңдаудың қажеті жоқ; сіз жай ғана функцияны шақыра аласыз.
Сценарийлеріңіз үшін аудармашы ретінде Cling пайдалануды жоспарласаңыз, функцияның ішіне барлығын орау керек. Сценарийдің әдепкі кіру нүктесі файл атымен бірдей. Оны басқа функцияны шақыру үшін конфигурациялауға болады. Осылайша, алдыңғы мысал келесідей нәрсеге айналады:
#include <stdio.h> void _01_hello_world() { printf("foo\n"); }
... немесе C++ нұсқасы
#include <iostream> void _02_hello_world() { std::cout << "Hello world" << std::endl; }
Мысалдар өте қарапайым, бірақ олар сізге неден бастау керектігін көрсетеді.
Qt ше?
#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
Сіз өзіңіздің қажеттіліктеріңізге негізделген реттелетін сценарийде «жабысуыңызды» теңшей аласыз.
Сондай-ақ, C++ тілін сценарий тілі ретінде пайдалану үшін Cling қолданбасын кітапхана ретінде жүктеп алуға болады.