С Новым годом! Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 04.12.2024
Сообщений: 6
1

.h и .hpp файлы и их подключение к коду

04.12.2024, 23:15. Показов 977. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Учу плюсы, сам на линуксе, вскод. Пробую создать .h и .hpp файлы и подключить их к проекту, но они просто не работают. Пробовал ставить путь к файлу от самого диска, менять инклудпат, перемещать в другие директории и указывать путь туда, запихнуть это в смейк(зря я туда полез), ничего не помогло. Если подключить .cpp к main напрямую всё работает.

Рабпапка:
/.vscode (от vscode)
/.build (от cmake)
/include (сюда пробовал запихнуть .h файл)
CMakeLists.txt (изначально ради того, чтоб разобраться с ним создавал проект)
console.h
console.cpp - файл с определением
Main.cpp - майн файл

main.cpp \/
C++
1
2
3
4
5
6
#include "console.h"
 
int main(){
    func();
    return 0;
}
console.cpp \/
C++
1
2
3
4
5
6
#include <iostream>
 
void func()
{
    std::cout << "Text\n";
}
console.h \/
C++
1
void func();
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.12.2024, 23:15
Ответы с готовыми решениями:

Подключение в проекте .hpp и .cpp файлов
Добрый день! Среда разработки Code Blocks 13.12 Компилятор GNU GCC В проекте существует 3...

Чем hpp-файлы отличаются от h-файлов?
hpp файлы чем нибудь отличаются от обычных h-ников? или только в расширении разница?

подключение hpp и срр,что то не правильно сделал,классы
сначала создаю hpp файл,в нем создаю интерфейс класса,потом срр файл создаю,в нем класс начинаю...

Файлы CPP, HPP как получить файл exe
Как все это сделать на DEV-C++?

14
Неэпический
18112 / 10699 / 2062
Регистрация: 27.09.2012
Сообщений: 26,945
Записей в блоге: 1
05.12.2024, 00:00 2
Цитата Сообщение от Geger Посмотреть сообщение
CMakeLists.txt (изначально ради того, чтоб разобраться с ним создавал проект)
И какого его содержимое?
Цитата Сообщение от Geger Посмотреть сообщение
Если подключить .cpp к main напрямую всё работает.
А собираете как? Чем? Вангую, что console.cpp просто не собираете
0
0 / 0 / 0
Регистрация: 04.12.2024
Сообщений: 6
05.12.2024, 15:21  [ТС] 3
До сборки не доходит, линкер еще жалуется, что файлов нет в директории (хотя они очевидно есть). Сейчас думаю, что погорячился с тегами, потому что это скорее к вскоду относится а не к плюсам.
0
Заблокирован
05.12.2024, 15:43 4
Geger, попробуй для начала Makefile написать, а не трогать cmake, если ты его боишься!
Ну, а такую простейшую фигню можно и одной командой собрать.

Вот же вендовозы! Вообще не умеют по-человечески разрабатывать… Все бы им мышей дырчить.

Добавлено через 1 минуту
Цитата Сообщение от Geger Посмотреть сообщение
линкер еще жалуется
Набери g++ main.cpp console.cpp и выложи, что там за маты. Откуда они вообще возникнуть могут, если ты ничего, кроме стандартной библиотеки, не используешь?

Добавлено через 1 минуту
Вот, я сделал это за тебя. Никаких матюков, естественно, нет. И даже работает:
Код
./a.out 
Text
0
0 / 0 / 0
Регистрация: 04.12.2024
Сообщений: 6
05.12.2024, 16:13  [ТС] 5
У меня тоже очевидно работает, если я буду собирать такую простецкую фигню через команду. Мне нужно чтоб это делал вскод, потому что команда будет в будущем расти и постоянно добавлять файлы ну такое себе. Makefile я уже делал, потому и пошел к cmake. И когда я говорю о том, что линкер жалуется, я имею в виду, что в вскоде не видит конкретно хедерфайлы, с .h. Когда я напрямую .cpp к main.cpp подключаю то всё четко без проблем работатает.

В cmake файле у меня только имя проекта, минимальные требования и добавленный main файл. Дальше я перешел к гайду, где чел через cmake добавляет библиотеки, на примере такого простого хедера и такой .cpp. Вот только у него всё норм, у меня нет. Я пошел искать и пришел сюда. Есть догадка, что это чисто проблема от вскода и тогда можно просто вырубить нах этот вид ошибок, потому что если билдить через смейк не обращая внимания (либо просто не показывает что произошла ошибка), то всё прекрасно линкуется и компилится и всё работает.

Ошибка в вскоде: #include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit (/home/tempoararyname/Documents/CmakeLearn/Main.cpp). configurationProvider - расширение вскода для cmake, выставленное в c_cpp_properties.json.

Если убрать оттуда эту переменную, то ошибка: #include errors detected. Please update your includePath. Squiggles are disabled for this translation unit (/home/tempoararyname/Documents/CmakeLearn/Main.cpp). Просит поменять инклудпат, но в нем и так выставлена "${workspaceFolder}/**" как переменная рабочей папки и всего что в ней есть. Если добавить путь от ~ то ошибка останется на месте.

В общем повторюсь, я склоняюсь к тому, что проблема в ide, а не самих плюсах.

И еще не знаю к чему про вендовозов, я на manjaro

Добавлено через 9 минут
Проверил догадку, нет, ошибка всё еще есть, он просто не видит файл в директории.
0
692 / 299 / 77
Регистрация: 07.01.2023
Сообщений: 1,241
05.12.2024, 16:26 6
Geger, может CMakeLists.txt покажете?
и да. #include "файл" подразумевает что файл ищем в текущем каталоге.
а вот #include <файл> уже сначала в systroot/usr/include потом во всех путях указанных в -I компилятора
0
Заблокирован
05.12.2024, 16:35 7
Цитата Сообщение от Geger Посмотреть сообщение
вскоде не видит
Если бы "не видел", то и в окне редактора не отображал!
Ну что за вендовозничество? Я без понятия, как настраивается сборка по клавосочетанию в этом редакторе, но явно там можно выбрать, вызывать ли напрямую компилятор, make или сначала еще и cmake (и с нужными параметрами). В qt-creator, которым я пользуюсь, именно так и есть. Только я не использую сборку по нажатию клавосочетаний, т.к. это жутко неудобно. Я в консоли, как положено, пишу ручками make и т.д.
А что до выбора cmake, не понимаю: если ты сам писал CMakeLists.txt, то в чем проблемы? А если стащил откуда-то, то, естественно, с твоим набором файлов оно работать не будет. Пример CMakeLists.txt показать?

Добавлено через 1 минуту
Цитата Сообщение от Geger Посмотреть сообщение
не знаю к чему про вендовозов, я на manjaro
К тому, что такой подход - исключительно черта вендузятников. Линуксоиды так не делают. И прекрасно понимают, что хотят от софта. Если уж пользуешься фашистской vscode, то это значит, что ты умеешь ее настраивать. Если же нет, выбери другое IDE. А то и вообще для начала в geany попробуй.
0
662 / 359 / 55
Регистрация: 22.09.2023
Сообщений: 1,050
05.12.2024, 16:56 8
Цитата Сообщение от Azathtot Посмотреть сообщение
#include "файл" подразумевает что файл ищем в текущем каталоге.
и если не нашли - то во всех путях указанных в -I компилятора
0
0 / 0 / 0
Регистрация: 04.12.2024
Сообщений: 6
05.12.2024, 18:02  [ТС] 9
Цитата Сообщение от Azathtot Посмотреть сообщение
Geger, может CMakeLists.txt покажете?
CMAKE:
Код
cmake_minimum_required(VERSION 3.5.0)
project(hello)

//отсюда
set(OSBitness 32)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
    set(OSBitness 64)
endif()
set (Dir "${CMAKE_SOURCE_DIR}/bin/${CMAKE_SYSTEM_NAME}${OSBitness}/${CMAKE_BUILD_TYPE}")
set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${Dir}/static libs")
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${Dir}")
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${Dir}")
//и сюда чел показывал способ, чтоб результаты в нужные папки красиво складывались

include_directories(.)

add_library(console console.cpp)

add_executable(${PROJECT_NAME} Main.cpp)

target_link_libraries(${PROJECT_NAME} console)
Насчет видов кавычек я знаю

Вообще со вчера много что попробовал, сейчас файлы такие:

main:
C++
1
2
3
4
5
6
#include "console.hpp"
 
int main(){
    console::print("text");
    return 0;
}
console.cpp
C++
1
2
3
4
5
6
7
#include <iostream>
#include "console.hpp"
 
void console::print(const char* Text)
{
    std::cout << Text;
}
console.hpp
C++
1
2
3
4
5
6
7
8
9
10
#ifndef __CONSOLE_HPP__
#define __CONSOLE_HPP__
 
class console
{
    public:
    static void print(const char* Text);
};
 
#endif
Абсолютно не ручаюсь, что в этом виде оно вообще должно работать.

Цитата Сообщение от Eddy_Em Посмотреть сообщение
Если бы "не видел", то и в окне редактора не отображал!
"Не видит", я подразумеваю ошибку в плане "No such file in directory". Если не понятно, буду писать "В окне окне ошибок показывает отсутствие файлов в дериктории, хотя он безусловно есть".

А что до выбора cmake, не понимаю: если ты сам писал CMakeLists.txt, то в чем проблемы? А если стащил откуда-то, то, естественно, с твоим набором файлов оно работать не будет. Пример CMakeLists.txt показать?
Если бы это было так для чего-то сложнее чем 1 функция в другом файле, подключенная к основному через хедер, то да, я бы согласился. Пример был бы к месту, почерпнул бы для себя чего.

К тому, что такой подход - исключительно черта вендузятников. Линуксоиды так не делают. И прекрасно понимают, что хотят от софта. Если уж пользуешься фашистской vscode, то это значит, что ты умеешь ее настраивать. Если же нет, выбери другое IDE. А то и вообще для начала в geany попробуй.
Я также прекрасно понимаю, с фронтенда привык использовать его, вот и продолжаю использовать. Вот и пытаюсь разобраться, как его для плюсов настроить и пока использовал мейкфайлы и команды проблем не знал. geany попробую.

Если знаете норм ресурсы, где можно почитать про cmake, то милости прошу. Документацию и официальные мануалы до дыр зачитал.
0
692 / 299 / 77
Регистрация: 07.01.2023
Сообщений: 1,241
05.12.2024, 19:06 10
Geger,
А не проще ли не страдать дурью и сделать так
Код
cmake_minimum_required(VERSION 3.5.0)
project(hello)

add_executable(${PROJECT_NAME} Main.cpp console.cpp)
Не, ну если хотите с либами то можно так
Код
cmake_minimum_required(VERSION 3.5.0)
project(hello)

add_library(console console.cpp)
set_target_properties(console PROPERTIES
         ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/static)
         
add_executable(${PROJECT_NAME} main.cpp)
target_link_libraries(${PROJECT_NAME} console)
И все отлично собирается и инклюдится...
1
0 / 0 / 0
Регистрация: 04.12.2024
Сообщений: 6
05.12.2024, 19:18  [ТС] 11
Цитата Сообщение от Azathtot Посмотреть сообщение
А не проще ли не страдать дурью и сделать так
Согласен, что всё будет собираться и инклудиться, но хотелось бы научиться подключать сторонние библиотеки
0
Заблокирован
05.12.2024, 19:45 12
Лучший ответ Сообщение было отмечено Geger как решение

Решение

Geger, по cmake отдельный сайт есть.
А один из моих старых шаблонов вот такой:
Код
cmake_minimum_required(VERSION 2.8)
set(PROJ <project name>)
set(MINOR_VERSION "1")
set(MID_VERSION "0")
set(MAJOR_VERSION "0")
set(VERSION "${MAJOR_VERSION}.${MID_VERSION}.${MINOR_VERSION}")

enable_language(C)

message("VER: ${VERSION}")

# default flags
set(CFLAGS -O2 -Wextra -Wall -Werror -W -std=gnu99)

set(CMAKE_COLOR_MAKEFILE ON)

# here is one of two variants: all .c in directory or .c files in list
aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} SOURCES)
#list(REMOVE_ITEM SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/<file to remove>)
#set(SOURCES list_of_c_files)

# we can change file list
#if(NOT DEFINED something)
#	set(SOURCES ${SOURCES} one_more_list)
#	add_definitions(-DSOME_DEFS)
#endif()

# cmake -DDEBUG=1 -> debugging
if(DEFINED DEBUG)
	add_definitions(-DEBUG)
endif()

# directory should contain dir locale/ru for gettext translations
set(LCPATH ${CMAKE_SOURCE_DIR}/locale/ru)

if(NOT DEFINED LOCALEDIR)
	if(DEFINED DEBUG)
		set(LOCALEDIR ${CMAKE_CURRENT_SOURCE_DIR}/locale)
	else()
		set(LOCALEDIR ${CMAKE_INSTALL_PREFIX}/share/locale)
	endif()
endif()

###### pkgconfig ######
# pkg-config modules (for pkg-check-modules)
set(MODULES <modules>)
# additional modules on condition
#if(DEFINED SOMETHING)
#       set(MODULES ${MODULES} more_modules>=version)
#       add_definitions(-DSOMEDEFS)
#endif()
# find packages:
find_package(PkgConfig REQUIRED)
# non-required
#find_package(<pkg1>)
pkg_check_modules(${PROJ} REQUIRED ${MODULES})

# external modules like OpenMP:
#include(FindOpenMP)
#if(OPENMP_FOUND)
#       set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
#       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
#       set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
#endif()

# append data from find_package:
#list(APPEND ${PROJ}_INCLUDE_DIRS ${<pkg1>_INCLUDE_DIR} ${<pkg2>_INCLUDE_DIR})
#list(APPEND ${PROJ}_LIBRARIES ${<pkg1>_LIBRARY} ${<pkg2>_LIBRARY})
#list(APPEND ${${PROJ}_LIBRARY_DIRS}  ${<pkg1>_LIBRARY_DIRS})

###### additional flags ######
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -lfftw3_threads")
# conditional check:
#if(NOT DEFINED NO_GSL)
#       pkg_check_modules(GSL gsl)
#endif()
#if(NOT DEFINED GSL_VERSION)
#       message("GSL not found, some mathematics functions wouldn't be avialable")
#else()
#       add_definitions(-DGSL_FOUND)
#endif()

project(${PROJ})
# change wrong behaviour with install prefix
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND CMAKE_INSTALL_PREFIX MATCHES "/usr/local")
        message("Change default install path to /usr")
        set(CMAKE_INSTALL_PREFIX "/usr")
endif()
message("Install dir prefix: ${CMAKE_INSTALL_PREFIX}")

# gettext files
set(PO_FILE ${LCPATH}/messages.po)
set(MO_FILE ${LCPATH}/LC_MESSAGES/${PROJ}.mo)
set(RU_FILE ${LCPATH}/ru.po)

# exe file
add_executable(${PROJ} ${SOURCES})
# another exe, depending on some other files
#add_executable(test_client client.c usefull_macros.c parceargs.c)
# -I
include_directories(${${PROJ}_INCLUDE_DIRS})
# -L
link_directories(${${PROJ}_LIBRARY_DIRS})
# -D
add_definitions(${CFLAGS} -DLOCALEDIR=\"${LOCALEDIR}\"
                -DPACKAGE_VERSION=\"${VERSION}\" -DGETTEXT_PACKAGE=\"${PROJ}\"
                -DMINOR_VERSION=\"${MINOR_VERSION}\" -DMID_VERSION=\"${MID_VERSION}\"
                -DMAJOR_VERSION=\"${MAJOR_VESION}\")

###### pthreads ######
find_package(Threads REQUIRED)
if(THREADS_HAVE_PTHREAD_ARG)
  set_property(TARGET ${PROJ} PROPERTY COMPILE_OPTIONS "-pthread")
  set_property(TARGET ${PROJ} PROPERTY INTERFACE_COMPILE_OPTIONS "-pthread")
endif()
if(CMAKE_THREAD_LIBS_INIT)
  list(APPEND ${PROJ}_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}")
endif()

# target libraries
target_link_libraries(${PROJ} ${${PROJ}_LIBRARIES})

# Installation of the program
INSTALL(FILES ${MO_FILE} DESTINATION "share/locale/ru/LC_MESSAGES")
        #PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
INSTALL(TARGETS ${PROJ} DESTINATION "bin")
        #PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
# Script to be executed at installation time (kind of post-intallation script) to
# change the right accesses on the installed files
#INSTALL(SCRIPT inst.cmake)

###### gettext ######
find_package(Gettext REQUIRED)
find_program(GETTEXT_XGETTEXT_EXECUTABLE xgettext)
if(NOT GETTEXT_XGETTEXT_EXECUTABLE OR NOT GETTEXT_MSGFMT_EXECUTABLE)
        message(FATAL_ERROR "xgettext not found")
endif()
file(MAKE_DIRECTORY ${LCPATH})
file(MAKE_DIRECTORY ${LCPATH}/LC_MESSAGES)

add_custom_command(
        OUTPUT ${PO_FILE}
        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
        COMMAND ${GETTEXT_XGETTEXT_EXECUTABLE} --from-code=utf-8 ${SOURCES} -c -k_ -kN_ -o ${PO_FILE}
        COMMAND sed -i 's/charset=.*\\\\n/charset=koi8-r\\\\n/' ${PO_FILE}
        COMMAND enconv ${PO_FILE}
        DEPENDS ${SOURCES}
)

# we need this to prewent ru.po from deleting by make clean

add_custom_command(
        OUTPUT ${MO_FILE}
        COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} ${RU_FILE} -o ${MO_FILE}
        DEPENDS ${RU_FILE} ru_file_updated
)

add_custom_command(
        OUTPUT ru_file_updated
        COMMAND [ -f ${RU_FILE} ] && ${GETTEXT_MSGMERGE_EXECUTABLE} -Uis ${RU_FILE} ${PO_FILE} || cp ${PO_FILE} ${RU_FILE}
        COMMAND ${CMAKE_COMMAND} -E touch ru_file_updated
        DEPENDS ${PO_FILE}
)

add_custom_target(MO_FILE ALL DEPENDS ${MO_FILE})
Более свежеее - у меня на гитхабе.
1
0 / 0 / 0
Регистрация: 04.12.2024
Сообщений: 6
05.12.2024, 22:03  [ТС] 13
Что-то я делаю неправильно, потому что у меня всё еще
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Geger, по cmake отдельный сайт есть.
Я его читал, пытался что-то применить, но решил начать с максимально простого.

Цитата Сообщение от Eddy_Em Посмотреть сообщение
А один из моих старых шаблонов вот такой:
Спасибо, буду смотреть
0
692 / 299 / 77
Регистрация: 07.01.2023
Сообщений: 1,241
06.12.2024, 07:49 14
Цитата Сообщение от Geger Посмотреть сообщение
но решил начать с максимально простого.
Максимально простое с подключением вашей собственной статической библиотеки - мой второй пример. 6 строк в CMakeLists.
0
Заблокирован
06.12.2024, 13:28 15
Максимально просто.
Но все равно со временем захочется как минимум профили Release и Debug завести, возможно - gettext'ом воспользоваться и т.д., и т.п. Ну и у некоторых библиотек нет pc-файла, поэтому pkg-config их "не видит", а cmake-овского модуля может не быть. И придется самому писать.
Однако, по сравнению с самописным Makefile, cmake более гибок. Особенно если надо, чтобы оно собиралось на разных дистрибутивах и даже в маздае (типа убунты).

Ну и да, вместо старого способа проверять дефайны, удобней опции. Как-то так:
Код
option(DEBUG "Compile in debug mode" OFF)
option(DUMMY "Dummy camera plugin" ON)
option(IMAGEVIEW "Build with imageview module" ON)
option(ZWO "Add support of ZWO cameras" OFF)
option(FLI "Add support of FLI cameras" OFF)
...
1
06.12.2024, 13:28
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2024, 13:28
Помогаю со студенческими работами здесь

При распаковке SFML жалуется на одинаковые файлы Window.hpp
При попытке распаковать библиотеки SFML, находящиеся в ZIP архиве, жалуется на одинаковые файлы...

Зачем файлы .h называть .hpp? Это новый стандарт? Что это дает?
Зачем файлы .h называть .hpp? Это новый стандарт? Что это дает?

Подключение библиотек к коду
Вот проект: https://www.cyberforum.ru/csharp-beginners/thread1459282.html Преподаватель к...

Подключение интерфейса к коду
Здравствуйте, нужно создать интерфейс с данным кодом. Заранее спасибо package com.javaLab2; ...

Подключение API к коду
Добрый день подскажите пожалуйста с вопросом. Есть программа winforms в ней есть несколько...

Подключение прокси к коду
import requests import time file = open('logins.txt').read().split('\n') valids_acc =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Как написать микросервис на Go/Golang
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C#
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru