WMI로 Windows 운영 체제 정보 가져오기 WMI는 Windows 시스템 정보를 쿼리할 수 있는 강력한 도구입니다. 이를 통해 운영 체제 이름, 버전, 아키텍처 등 다양한 정보를 가져올 수 있습니다. 1. 코드 설명 아래 코드는 WMI를 사용하여 Windows 운영 체제 정보를 가져오는 C++ 코드입니다: 2. 코드 #include #include #include #pragma comment(lib, "wbemuuid.lib")void GetWindowsNameWithWMI() { HRESULT hres; // COM 라이브러리 초기화 hres = CoInitializeEx(0, COI..
IOCP, Boost.Asio, epoll 예제 1. IOCP (Windows) 플랫폼: Windows 설명: IOCP는 Windows에서 제공하는 비동기 I/O 처리 메커니즘으로, 고성능 네트워크 서버를 구축할 때 사용됩니다. 예제 코드: #include #include #include #include #include #pragma comment(lib, "Ws2_32.lib")struct ClientContext { OVERLAPPED overlapped; SOCKET socket; char buffer[1024];};void workerThread(HANDLE iocpHandle) { DWORD bytesTransferred; UL..
IOCP, Boost.Asio, epoll 비교 1. IOCP (I/O Completion Port) 플랫폼: Windows 설명: Microsoft에서 제공하는 고성능 비동기 I/O 처리 기술로, 소켓, 파일, 파이프 등을 효율적으로 처리합니다. 주요 특징: 완료 기반 이벤트 모델 (비동기 작업 완료 시만 처리). 스레드 풀을 활용한 효율적인 CPU 사용. 수십만 개의 동시 연결을 처리할 수 있는 고성능. 2. Boost.Asio 플랫폼: 크로스 플랫폼 (Windows, Linux, macOS) 설명: Boost 라이브러리의 일부로, 고성능 비동기 I/O를 제공하며, 플랫폼별 메커니즘(IOCP, epoll 등)을 ..
ACE 라이브러리 설명ACE(The Adaptive Communication Environment)는 네트워크 및 분산 시스템 개발을 지원하기 위한 C++ 기반의 오픈소스 라이브러리입니다. 네트워크 소켓, 멀티스레드, 동기화 제어 등의 기능을 제공합니다.주요 특징이식성: 다양한 플랫폼에서 동작.높은 성능: 멀티스레드 및 이벤트 기반 프로그래밍 지원.모듈화된 디자인: 필요한 기능만 선택적으로 사용 가능.클라이언트-서버 통신 C++ 예제 코드서버 코드// 서버 코드 (server.cpp)#include #include #include #include #include int main() { ACE_INET_Addr port(8080); ACE_SOCK_Acceptor acceptor; if (..
라운드 로빈(Round Robin) 스케줄링 알고리즘 라운드 로빈(RR)은 운영 체제에서 가장 간단하고 널리 사용되는 스케줄링 알고리즘 중 하나입니다. 이 알고리즘은 선점형(preemptive) 방식으로, 타임 슬라이스(time quantum)라고 불리는 고정된 시간 단위에 따라 프로세스가 CPU 시간을 공정하게 나누어 사용하도록 합니다. 작동 방식 모든 프로세스가 원형 큐(circular queue)에 추가됩니다. 스케줄러는 각 프로세스에 고정된 타임 슬라이스를 순서대로 할당합니다. 프로세스가 주어진 시간 내에 완료되지 않으면, 실행이 중단되고 큐의 뒤로 이동합니다. 모든 프로세스가 완료될 때까지 이 과정을 반복합니다. 주..
Get Public IP in C++ This code uses libcurl to retrieve the public IP address by making an HTTP request to http://api.ipify.org. #include iostream>#include string>#include curl/curl.h>size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* userp) { userp->append((char*)contents, size * nmemb); return size * nmemb;}std::string GetPublicIP() { CURL* curl; CUR..
- Total
- Today
- Yesterday
- 스쿠버 다이빙
- C++
- 서귀포블루버블
- Build
- 외돌개
- 서귀포
- DLL
- 윈도우
- 암호화
- 블루버블
- Linux
- PowerShell
- Windows
- 패턴
- ip
- 스쿠버다이빙
- 티스토리챌린지
- script
- 울릉도
- C#.NET
- 제주도
- OpenSource
- 성산블루버블
- 블루버블다이브팀
- 블루버블다이빙팀
- C
- CMake
- C#
- C# 고급 기술
- 현포다이브
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |