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)
|
||||
|
||||
# Название и версия проекта и используемые языки программирования
|
||||
project(myx-example-features VERSION 0.3.0 LANGUAGES CXX)
|
||||
project(myx-example-features VERSION 0.4.0 LANGUAGES CXX)
|
||||
|
||||
# Рекомендуемый способ подключения MyxCMake
|
||||
include(cmake/myx_setup.cmake)
|
||||
|
||||
# Поиск пакетов
|
||||
myx_find_packages(
|
||||
myx_find_required_packages(
|
||||
Qt5 Core
|
||||
Qt5Private Core)
|
||||
|
||||
# Цель для создания исполняемого файла
|
||||
add_executable(${PROJECT_NAME})
|
||||
myx_add_executable(${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