0.4.0
This commit is contained in:
parent
1f5536f696
commit
deb5b8eae0
@ -5,18 +5,18 @@ cmake_minimum_required(VERSION 3.6 FATAL_ERROR)
|
|||||||
cmake_policy(VERSION 3.6..3.7)
|
cmake_policy(VERSION 3.6..3.7)
|
||||||
|
|
||||||
# Название и версия проекта и используемые языки программирования
|
# Название и версия проекта и используемые языки программирования
|
||||||
project(myx-example-features VERSION 0.3.0 LANGUAGES CXX)
|
project(myx-example-features VERSION 0.4.0 LANGUAGES CXX)
|
||||||
|
|
||||||
# Рекомендуемый способ подключения MyxCMake
|
# Рекомендуемый способ подключения MyxCMake
|
||||||
include(cmake/myx_setup.cmake)
|
include(cmake/myx_setup.cmake)
|
||||||
|
|
||||||
# Поиск пакетов
|
# Поиск пакетов
|
||||||
myx_find_packages(
|
myx_find_required_packages(
|
||||||
Qt5 Core
|
Qt5 Core
|
||||||
Qt5Private Core)
|
Qt5Private Core)
|
||||||
|
|
||||||
# Цель для создания исполняемого файла
|
# Цель для создания исполняемого файла
|
||||||
add_executable(${PROJECT_NAME})
|
myx_add_executable(${PROJECT_NAME})
|
||||||
|
|
||||||
# Настройка свойств цели
|
# Настройка свойств цели
|
||||||
myx_target_setup(${PROJECT_NAME}
|
myx_target_setup(${PROJECT_NAME}
|
||||||
|
27
include/myx-example-features/processor.hpp
Normal file
27
include/myx-example-features/processor.hpp
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* \file Класс Processor
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PROCESSOR_HPP_
|
||||||
|
#define PROCESSOR_HPP_
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Класс Processor
|
||||||
|
*/
|
||||||
|
class Processor : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
* \brief Слот, печатающий сообщение
|
||||||
|
*/
|
||||||
|
Q_SLOT void process() { qCritical() << "about to close"; }
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // ifndef PROCESSOR_HPP_
|
||||||
|
// EOF processor.hpp
|
121
src/myx-example-features/main.cpp
Normal file
121
src/myx-example-features/main.cpp
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
/**
|
||||||
|
* \file Основной файл проекта
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <myx-example-features/processor.hpp>
|
||||||
|
|
||||||
|
#include <QCoreApplication>
|
||||||
|
#include <QDebug>
|
||||||
|
#include <QFile>
|
||||||
|
#include <QRandomGenerator>
|
||||||
|
#include <QTimer>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Перевод строки в целое число
|
||||||
|
* @param Строка
|
||||||
|
* @return Целое число
|
||||||
|
*/
|
||||||
|
int qStringToInt( const QString& s )
|
||||||
|
{
|
||||||
|
return( s.toInt() );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Неиспользуемая функция для тестирования анализа покрытия кода
|
||||||
|
*/
|
||||||
|
int unused( int a )
|
||||||
|
{
|
||||||
|
return( a );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Медленная функция
|
||||||
|
*/
|
||||||
|
int slowFunction()
|
||||||
|
{
|
||||||
|
constexpr int size = 16 * 1024;
|
||||||
|
double a[size];
|
||||||
|
|
||||||
|
for ( int i = 0; i < size; i++ )
|
||||||
|
{
|
||||||
|
a[i] = QRandomGenerator::global()->bounded( 4 );
|
||||||
|
for ( int j = 0; j < i; j++ ) a[i] += sin( a[j] );
|
||||||
|
a[0] += a[i];
|
||||||
|
}
|
||||||
|
return( qRound( a[0] ) );
|
||||||
|
} // slowFunction
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Быстрая функция
|
||||||
|
*/
|
||||||
|
int fastFunction()
|
||||||
|
{
|
||||||
|
constexpr int size = 8 * 1024;
|
||||||
|
double a[size];
|
||||||
|
|
||||||
|
for ( int i = 0; i < size; i++ )
|
||||||
|
{
|
||||||
|
a[i] = QRandomGenerator::global()->bounded( 4 );
|
||||||
|
for ( int j = 0; j < i; j++ ) a[i] += sin( a[j] );
|
||||||
|
a[0] += a[i];
|
||||||
|
}
|
||||||
|
return( qRound( a[0] ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Основная функция
|
||||||
|
* \param argc Количество параметров командной строки
|
||||||
|
* \param argv Массив параметров
|
||||||
|
* \return Результат выполнения QApplication::exec()
|
||||||
|
*/
|
||||||
|
int main( int argc, char** argv )
|
||||||
|
{
|
||||||
|
QCoreApplication app( argc, argv );
|
||||||
|
|
||||||
|
// qt-keywords
|
||||||
|
QList< int > il;
|
||||||
|
|
||||||
|
il << 111 << 222;
|
||||||
|
Q_FOREACH ( int i, il )
|
||||||
|
{
|
||||||
|
qDebug() << i;
|
||||||
|
}
|
||||||
|
|
||||||
|
QStringList sl;
|
||||||
|
|
||||||
|
sl << QStringLiteral( "111" ) << QStringLiteral( "222" );
|
||||||
|
for ( const auto& s: qAsConst( sl ) )
|
||||||
|
{
|
||||||
|
qDebug() << s;
|
||||||
|
}
|
||||||
|
|
||||||
|
for ( auto s: qAsConst( sl ) )
|
||||||
|
{
|
||||||
|
s.append( "0" );
|
||||||
|
}
|
||||||
|
|
||||||
|
QString s { QStringLiteral( "100" ) };
|
||||||
|
auto ir = qStringToInt( s );
|
||||||
|
|
||||||
|
QFile* f = new QFile();
|
||||||
|
Processor p;
|
||||||
|
|
||||||
|
QObject::connect( &app, &QCoreApplication::aboutToQuit, &p, &Processor::process );
|
||||||
|
QTimer::singleShot( 100, &app, SLOT(quit()));
|
||||||
|
|
||||||
|
#ifdef PROFILE
|
||||||
|
qCritical() << "Slow: " << slowFunction();
|
||||||
|
qCritical() << "Fast: " << fastFunction();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int arr[3];
|
||||||
|
qCritical() << arr[2];
|
||||||
|
return( QCoreApplication::exec() );
|
||||||
|
}// main
|
||||||
|
|
||||||
|
|
||||||
|
// EOF main.cpp
|
26
src/myx-example-features/processor.hpp
Normal file
26
src/myx-example-features/processor.hpp
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
/**
|
||||||
|
* \file Класс Processor
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PROCESSOR_HPP_
|
||||||
|
#define PROCESSOR_HPP_
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Класс Processor
|
||||||
|
*/
|
||||||
|
class Processor : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
* \brief Слот, печатающий сообщение
|
||||||
|
*/
|
||||||
|
Q_SLOT void process() { qCritical() << "about to close"; }
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // ifndef PROCESSOR_HPP_
|
Loading…
Reference in New Issue
Block a user