Evgenii Legotckoi
Evgenii LegotckoiМаусым 18, 2018, 4:01 Т.Ж.

C++ сценарийлері

Мазмұны

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 қолданбасын кітапхана ретінде жүктеп алуға болады.

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

Пікірлер

Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
Кіріңіз немесе Тіркеліңіз
AD

C++ - Тест 004. Указатели, Массивы и Циклы

  • Нәтиже:50ұпай,
  • Бағалау ұпайлары-4
m
  • molni99
  • Қаз. 26, 2024, 1:37 Т.Ж.

C++ - Тест 004. Указатели, Массивы и Циклы

  • Нәтиже:80ұпай,
  • Бағалау ұпайлары4
m
  • molni99
  • Қаз. 26, 2024, 1:29 Т.Ж.

C++ - Тест 004. Указатели, Массивы и Циклы

  • Нәтиже:20ұпай,
  • Бағалау ұпайлары-10
Соңғы пікірлер
ИМ
Игорь МаксимовҚар. 22, 2024, 11:51 Т.Ж.
Django - Оқулық 017. Теңшелген Django кіру беті Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Evgenii Legotckoi
Evgenii LegotckoiҚаз. 31, 2024, 2:37 Т.Қ.
Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZEҚаз. 19, 2024, 8:19 Т.Ж.
Qt Creator көмегімен fb3 файл оқу құралы Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь МаксимовҚаз. 5, 2024, 7:51 Т.Ж.
Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas5Шілде 5, 2024, 11:02 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Енді форумда талқылаңыз
m
moogoҚар. 22, 2024, 7:17 Т.Ж.
Mosquito Spray System Effective Mosquito Systems for Backyard | Eco-Friendly Misting Control Device & Repellent Spray - Moogo ; Upgrade your backyard with our mosquito-repellent device! Our misters conce…
Evgenii Legotckoi
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
t
tonypeachey1Қар. 15, 2024, 6:04 Т.Ж.
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
NSProject
NSProjectМаусым 4, 2022, 3:49 Т.Ж.
Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…

Бізді әлеуметтік желілерде бақылаңыз