컴퓨터공학11 C++ Windows 공유 메모리(Shared Memory) 사용 가이드 완벽 이해 : 프로세스 간 데이터 공유에 대한 종합 가이드 다양한 공유 메모리(Shared Memory) 공유 메모리는 여러 프로세스가 데이터를 읽고 쓰기 위해 공통 메모리 공간에 액세스하고 공유할 수 있도록 하는 IPC(프로세스 간 통신) 방법입니다. C++에서 공유 메모리는 다양한 라이브러리와 메커니즘을 사용하여 얻을 수 있습니다. 여러 프로세스 또는 스레드가 함께 작업하여 문제를 해결하거나 작업을 보다 효율적으로 수행하는 병렬 프로그래밍에서 특히 유용합니다. ▶ Memory mapping: C++는 파일의 일부 또는 전체 파일을 프로세스의 가상 주소 공간에 매핑할 수 있는 메모리 매핑된 파일을 지원합니다. 이 기술은 동일한 파일을 주소 공간에 매핑하여 프로세스 간에 메모리를 공유하는 데 사용할 수 있습니다. Boost.Interprocess 라이브러리 또는.. C++/C++ 적용 예제 2023. 3. 19. C++ Sleep() 및 SetTimer() 함수를 사용하여 TCP/IP 네트워크에서 안정적인 시간(Time) 지정 통신 구현을 알아보자 프로그램 작업에는 여러 가지 이유로 sleep() 및 settimer()와 같은 컨트롤이 필요합니다. 1. Timing control : 경우에 따라 프로그램은 다음 작업을 실행하기 전에 일정 시간 동안 대기해야 합니다. 예를 들어 메인 메뉴를 표시하기 전에 몇 초 동안 시작 화면을 표시하는 프로그램입니다. 2. Asynchronous execution : 경우에 따라 프로그램은 여러 작업을 동시에 또는 특정 순서로 실행해야 합니다. 예를 들어 백그라운드에서 장기 실행 작업을 수행하는 동안 진행률 표시줄을 업데이트하는 프로그램입니다. 3. User experience : 경우에 따라 프로그램은 사용자가 메시지나 프롬프트를 읽거나 반응할 수 있도록 일정 시간을 제공해야 합니다. 예를 들어 자동으로 닫히기 .. C++/C++ 적용 예제 2023. 3. 12. C++ TCP/IP를 사용한 반복(While문 활용) 데이터 전송 : 단계별(Step by Step) 가이드 완벽 정리(feat. 구조체 활용) [잠깐만~] 본 포스팅을 공부하기 전에 TCP/IP 기반 Server/Client 구조를 모르면 Line by Line으로 코드가 설명된 아래의 포스팅을 먼저 공부하고 오세요. 본 포스팅의 아래 포스팅의 upgrad 버전이기 때문에 Line by Line으로 코드 설명이 없습니다. C++ TCP/IP 가장 단순한 소켓 통신 네트워크 구현 - Server / Client (feat. 식당 주문 받기에 비유해보자) 소켓통신 구현 소켓 통신은 네트워크에서 실행되는 둘 이상의 프로세스 간에 데이터 교환을 허용하는 IPC(프로세스 간 통신) 방법입니다. 소켓은 네트워크의 두 프로세스 간의 통신을 위한 끝점 easycode.tistory.com 서버/클라이언트 데이터 반복적으로 주고받기 TCP/IP 통신은 서버와 .. C++/C++ 적용 예제 2023. 3. 12. C++ TCP/IP 가장 단순한 소켓 통신 네트워크 구현 - Server / Client (feat. 식당 주문 받기에 비유해보자) 소켓통신 구현 소켓 통신은 네트워크에서 실행되는 둘 이상의 프로세스 간에 데이터 교환을 허용하는 IPC(프로세스 간 통신) 방법입니다. 소켓은 네트워크의 두 프로세스 간의 통신을 위한 끝점이며 IP 주소와 포트 번호의 고유한 조합으로 표시됩니다. 소켓 프로그래밍에서 프로세스는 소켓 API를 사용하여 네트워크를 통해 데이터를 송수신합니다. 데이터를 보내려는 프로세스는 소켓을 생성하고 수신 프로세스의 IP 주소와 포트 번호를 지정하고, 데이터를 받으려는 프로세스는 소켓을 생성하고 자신의 IP 주소와 포트 번호를 지정합니다. 소켓에는 두 가지 주요 유형이 있습니다. ▶ 스트림 소켓 (연결 지향형): TCP(전송 제어 프로토콜) 소켓이라고도 하며 안정적인 스트림 지향 연결을 제공합니다. ▶ 데이터그램 소켓 (비.. C++/C++ 적용 예제 2023. 2. 19. [되돌아 보며] C++의 꽃이라고 불리는 포인터(pointer, *), 레퍼런스(reference, &) 기본 개념을 되돌아보자. '되돌아보며'가 필요한 이유 객체지향 초급 편에 들어가기 앞서 C++의 꽃이라고 불리는 포인터, 레퍼런스 개념을 다시 한번 짚고 넘어가겠습니다. 자바(JAVA), 파이썬(Python), C#(CSharp) 과는 다르게 메모리 할당을 직접적(수동적)으로 Contorl 할 수 있다는 장점이 있습니다. → 물론, 잘했을 경우에만 해당됩니다. 잘못했을 경우 잘못된 메모리 할당으로 누수가 생길 수 있습니다. 메모리 할당을 직접적으로 Control 할 수 있다면 좋은 것은 바로 'Process 속도 향상'입니다. 그래서 영상 처리와 같이 Just in Time Process의 경우 C#, Python, JAVA와 같은 언어를 사용하기보다는 공유 메모리 및 Thread 연산을 통해 연산 처리 속도를 높이는 작업이 주.. C++/객체지향 초급편 2023. 1. 30. 6강. 단일 및 이중 배열 기본 구조 및 예시 살펴보기 단일 배열(Single Array) 이란? C++에서 배열은 연속 메모리 위치에 저장된 동일한 데이터 유형의 요소 모음입니다. 배열은 정수, 실수 또는 문자와 같은 동일한 데이터 유형의 여러 값을 저장하는 데 사용할 수 있습니다. C++에서 배열의 기본 구조는 배열 이름과 대괄호 []로 묶인 배열의 크기가 뒤따르는 데이터 유형을 사용하는 것입니다. 다음은 C++에서 정수 배열을 선언하는 방법의 예입니다. int myArray[5]; 이것은 5개의 정수 값을 저장할 수 있는 "myArray"라는 배열을 선언합니다. 배열 요소는 0부터 시작하여 인덱싱되므로 첫 번째 요소는 myArray[0]이고 두 번째 요소는 myArray[1]입니다. 선언 시 배열을 초기화할 수도 있습니다. int myArray[] = .. C++/입문편 2023. 1. 22. 4강. IF-ELSE 조건문 기초 설명 및 사용 예시를 살펴보자 IF-ELSE 조건문 설명 C++에서 "if" 문은 코드 블록을 조건부로 실행할 수 있게 해주는 제어 흐름 문입니다. C++에서 "if" 문의 기본 구문은 다음과 같습니다. if (condition) { // code to be executed if condition is true } 조건은 참 또는 거짓으로 평가되는 표현식입니다. 조건이 참이면 중괄호 안의 코드가 실행됩니다. 조건이 거짓이면 중괄호 안의 코드는 건너뛰고 프로그램은 if 문 다음 문으로 계속 진행됩니다. 다음은 C++의 if 문의 예입니다. #include int main() { int x = 5; if (x > 3) { std::cout C++/입문편 2023. 1. 22. 3강. For 반복문의 기초 설명 및 예시를 살펴보자(2중 For문, 평균, 왜도, 첨도, 구구단) for 반복문의 기초 설명 C++에서 "for" 루프는 지정된 횟수만큼 코드 블록을 반복할 수 있게 해주는 제어 흐름 문입니다. C++에서 "for" 루프의 기본 구문은 다음과 같습니다. for (initialization; condition; increment/decrement) { // code to be executed } "initialization" 문은 루프 시작 시 한 번만 실행됩니다. 루프에서 사용될 모든 변수를 초기화하는 데 사용됩니다. 루프의 각 반복 전에 "condition" 문이 평가됩니다. 조건이 참이면 루프 내부의 코드가 실행됩니다. 조건이 거짓이면 루프가 종료됩니다. "increment/decrement" 문은 루프가 반복될 때마다 실행됩니다. 초기화 문에서 초기화된 변수를 업.. C++/입문편 2023. 1. 22. 2강. Microsoft Visual C++ 의 데이터 형식(Data Type)에 대해 알아보자 (int, floor, string, char, long) C++ 데이터 형식 Microsoft Visual C++(Visual C++라고도 함)는 Microsoft에서 개발 및 배포하는 C++ 프로그래밍 언어 버전입니다. 표준 C++ 언어와 마찬가지로 Visual C++ 에는 프로그램에서 사용할 수 있는 다양한 기본 제공 데이터 형식이 있습니다. 아래는 Microsoft Visual C++에서 사용할 수 있는 몇 가지 데이터 형식을 정리한 것입니다. int: 42 또는 -5와 같은 정수를 나타내는 데 사용됩니다. unsigned int: 42 또는 0과 같은 음이 아닌 정수를 나타내는 데 사용됩니다. long: 1234567890과 같이 더 큰 정수를 나타내는 데 사용됩니다. unsigned long: 1234567890과 같이 음수가 아닌 더 큰 정수를 나타.. C++/입문편 2023. 1. 22. [필독] 1강. C++ 전체적 구조적 접근 설명 - 입문자는 '반드시' 필요한 기초 이론 (cpp, header & iostream, namespace) ******************************************************************************** 입문자는 반드시 본 포스팅을 여러번 반복해서 공부해야됩니다. 목차에 한줄 요약 카테고리가 있으니 빠르고, 쉽게 이해할 수 있습니다. ******************************************************************************** C++의 배경 C++는 대규모 응용 프로그램을 개발하는 데 널리 사용되는 범용 고급 프로그래밍 언어입니다. C 프로그래밍 언어의 확장이며 1983년 Bjarne Stroustrup에 의해 개발되었습니다. C++는 객체 지향 프로그래밍 언어로 캡슐화, 상속 및 다형성을 지원합니다. 또한 절차.. C++/입문편 2023. 1. 17. 1강 : 객체 지향 언어인 C#(CSharp) 프로그래밍 언어란 무엇인가? (.NET Framework) C# 객체 지향 언어 C# .NET Framework은 Microsoft에서 개발한 객체 지향 프로그래밍 언어입니다. 이 언어는 Windows 플랫폼에서 사용되며, .NET Framework는 이를 위한 개발 플랫폼입니다. .NET Framework는 어플리케이션을 개발하는데 필요한 라이브러리, 툴, 서비스 등을 제공합니다. 또한, C# 프로그래밍 언어는 2000년에 Microsoft에서 개발되었습니다. Anders Hejlsberg라는 이름의 개발자가 이 언어를 처음 설계하고 개발했습니다. C#은 C++언어와 Java 언어를 참고하여 만들어졌습니다. C# 프로그램 개발자 도구 C# 프로그램을 만들고 편집하는 데 사용할 수 있는 여러 개발자 도구가 있습니다. 인기 있는 선택은 다음과 같습니다. Visua.. 씨샵 (CSharp)/기초편 2023. 1. 16. 이전 1 다음