본문 바로가기

VisualStudio.C++.C#   ( 287 )


C++ REST SDK. Json 형식 다루기 . 개요 C++ REST SDK 기반 Json 형식 만들기, Json 형식 데이터 에서 데이터 요소(키-값) 추출하기. Json 형식 만들기 object 를 바로 json value 형식으로 변환. #include // need for json // Json 형식 {"op":"ping"} 만들기. 키-값 1개만 있는 초간단. 아래처럼 하면됨. web::json::value obj = web::json::value::object(); obj[U("op")] = web::json::value::string(U("ping")); std::wcout wstring형변환. s 2020. 3. 22.
gettimeofday. timeval . 윈도우 에서 구현하기 리눅스 의 sys/time.h 에서 제공되는 gettimeofday 함수 - 아래 코드예처럼 사용된다. #include // 리눅스에서만 있고, 윈도우 환경에는 없음. int64_t getCurrentTime() { struct timeval tv; gettimeofday(&tv, NULL); // 구조체 tv의 멤버 tv_sec 에 초단위 , tv_usec 에 마이크로초 단위 기록됨. return tv.tv_sec * 1000; // 이 코드의 예에서는 초단위의 시간정보만 이용하고 있음. } /////////////// // 위코드에서 구조체 timeval 형식. struct timeval { long tv_sec; /* seconds */ long tv_usec; /* and microseconds .. 2020. 3. 20.
C 에서 파이썬 사용하기 http://blog.tcltk.co.kr/?p=2851 C에서 Python 호출하기 – dogfoot note 이번거는 C에서 Python 호출하는 방법임. 파이썬은 상당히 빠른 스크립트 언어이고.. 존재하는 모듈도 상상하다.. 이런거는 C로 구현하기 보다는.. 파이썬의 모듈을 끌어다 쓰는것도 한가지 방법. 아래의 문서는.. 어느분이 블로그에 적어놓은 글을 pdf로 변환한건데.. 이 문서에는 시작 포인트만 기술이 되어 있는데.. 좀더 심도있게 들어가게 되면.. 메뉴얼을 찾아보던지 해야할것임. C에서 Python사용하기(1) – 함수 호출.pdf C에서 Python blog.tcltk.co.kr https://kukuta.tistory.com/69 Python embedding 1 - Overview /.. 2020. 3. 20.
Vcpkg. 개요 . 설치 Vcpkg - 윈도우, 리눅스, 맥 에서의 C, C++ 라이브러리 매니징 도구. - 배포처 : https://github.com/Microsoft/vcpkg microsoft/vcpkg C++ Library Manager for Windows, Linux, and MacOS. Contribute to microsoft/vcpkg development by creating an account on GitHub. github.com vcpkg 사용법 vcpkg는 C++ 용 명령줄 패키지 관리자입니다. vcpkg는 Windows, Linux 및 macOS에서 타사 라이브러리 획득 및 설치를 크게 간소화합니다. 프로젝트에서 타사 라이브러리를 사용하는 경우 vcpkg를 사용하여 설치하는 것이 좋습니다. vcpkg.. 2020. 3. 16.
C++ REST SDK (코드명 Casablanca) 개요. C++ REST SDK REST 서비스와 상호 작용하기 위한 최신 플랫폼 간 비동기 API를 제공. - 개발 배포 : 마이크로 소프트 JSON 문서 구문 분석 및 serialization에 대한 지원이 기본 제공되는 HTTP 서버에 대해 REST 호출 수행 로컬 리디렉션 수신기를 포함하여 OAuth 1 및 2 지원 원격 서비스에 대한 WebSocket 연결 기본 제공 스레드 풀을 비롯한 PPL 기반의 완전 비동기 작업 API Windows Desktop(7+), Windows Server(2012+), 유니버설 Windows 플랫폼, Linux, OSX, Android 및 iOS를 지원. CPP REST SDK 깃허브 : https://github.com/Microsoft/cpprestsdk micros.. 2020. 3. 10.
MS. WebSocket 구현 정보 - 기본 MS 제공 WebSocket 구현 정보 WebSocket - UWP applications WebSocket은 HTTP(S)를 사용하고 UTF-8 및 이진 메시지를 모두 지원하는 웹을 통해 클라이언트와 서버 간의 빠르고 안전한 양방향 통신을 위한 메커니즘을 제공합니다. docs.microsoft.com WebSocket Protocol Component API - Win32 apps WebSocket Protocol Component API 01/11/2019 2 minutes to read In this article --> Overview of the WebSocket Protocol Component API technology. To develop WebSocket Protocol Component.. 2020. 3. 6.
숫자 를 16진 형식의 문자열로 표현하기. 상황예. uint8_t number = 253; char buf[10]; number 를 문자열 표현시 16진수 형식으로 표현하고 싶다. 즉, 십진수 253 인 경우 16진수 FD 로 표현. 코드. 방법1. sprintf(buf,"%02x",number); 방법2. itoa(number, buf, 16); // 마지막 인자 값 2 : 2진수 , 10 : 10진수, 16 : 16진수. 연관 _tcstol, strtol, wcstol. 16 진수, 2 진수 표현 문자를 10진 정수형으로 변환. 개요 예 : 16진수로 표현된 문자 0040 이라는 문자열이 있을때 이 문자를 10진수 정수로 변환할 수 있다. 아래 코드의 함수 _tcstol 반환값은 10진수 64이다. CString cst_num = _T("00.. 2020. 2. 9.
_tcstol, strtol, wcstol. 16 진수, 2 진수 표현 문자를 10진 정수형으로 변환. 개요 예 : 16진수로 표현된 문자 0040 이라는 문자열이 있을때 이 문자를 10진수 정수로 변환할 수 있다. 아래 코드의 함수 _tcstol 반환값은 10진수 64이다. CString cst_num = _T("0040"); // 10진수 64의 16진수형으로 문자로 표현. _tcstol(cst_num, NULL, 16); // 마지막 인자에 문자열 cst_num 의 진수를 기록한다 본 예에서는 16진수 이므로 16기록. 연관 숫자 를 16진 형식의 문자열로 표현하기. 상황예. uint8_t number = 253; char buf[10]; number 를 문자열 표현시 16진수 형식으로 표현하고 싶다. 즉, 십진수 253 인 경우 16진수 FD 로 표현. 코드. 방법1. sprintf(buf,"%02.. 2020. 2. 9.
C. ASCII 문자열 크기 구하기 // 문자열 수량 반환 함수. // 인자 : ascii string buffer 의 포인터. // 반환값 : 문자열 크기. uint8_t GetLength(uint8_t * buf) { uint8_t len = 0; while(*buf !='\0') { len++; buf++; } return len; } // 활용예. #define MY_STRING "Hello This is string" GetLength((uint8_t*)MY_STRING); 2020. 2. 9.
C/C++. C 에서 C++ 함수 호출하기. extern "C" 선언. C++ 에서 C함수 호출. C 에서 C++ 함수 호출 C와 C++ 이 혼재된 프로젝트에서 C++ 에서 정의된 함수를 C 에서 호출하는 방법. C++ 측에 C에 노출시킬 함수에 extern "C" 선언 추가된것은 C에서 호출가능함. /// C++ mycpp.cpp 측 코드. void function(void) { } //상기 함수를 C측에 노출시키는 함수 추가 작성. extern "C" void c_function(void) { function(); } // C++측 헤더 파일 mycpp.h 에는 위 함수 선언 추가하지 않는다. // extern "C" void c_function(void); 2020. 1. 24.
C. C++. 메모리 직접 접근 메모리 주소 ( 예. 0xF000F100 등 아무거나 시스템에서 메모리 주소로 사용하고 있는 것 ) 에 직접 접근하여 값 uint32_t 값 기록하는 방법. 임베디드 시스템 이라면 메모리 주소는 GPIO 포트 출력 설정하는 레지스터 주소일수도있고, 플레시 메모리 영역일수도 있다. // 코드 의미. 주소에 해당하는 숫자를 uint32_t 포인터로 처리하고 그것의 값 * 에 0xFF 대입하라. // volatile 은 컴파일러 (특히 GCC) 의 최적화 옵션 적용하지 말라는 설정. 코드에 기록된 그대로 컴파일 하라는 의미. *((volatile uint32_t *) 0xF000F100 ) = 0xFF; // 매번 위 구문 타이핑 하기 번거로우니 매크로로 정의하면 사용하기 편리하다. #define MEM_LE.. 2020. 1. 20.
C. 해시테이블, 딕셔너리 유사기능 컬렉션 간이 구현 . 키값 : 대응값 자료형태. C 언어 자체로는 "키값 : 데이터" 형식으로 접근할 수 있는 데이터 형이 없고 상황에 따라 직접 정의 해서 활용한다. 키값 및 이에 1:1 대응하는 데이터를 가지는 구조이면 되므로 아래 예처럼 구현가능. 범용적인것 구현하려면 방대해지므로 특수 상황에만 활용가능한 형식으로 간이 구현예. 본 예에서는 키값 250,251,252,253 ... 이고 이에 대응하는 값이 메모리 주소값인 경우 typedef struct { uint8_t IndexPage; // key 에 해당. uint32_t Addr; // IndexPage 에 1:1 대응하는 주소값. }ST_DIC_IDXADDR; ST_DIC_IDXADDR stDicIdxAddr[10]; // /// key 에 대응하는 값 반환 받는 함수. uint32_t.. 2020. 1. 20.
C/C++. & 와 * 메모리 접근 형변환 uint32_t ui32 = 26584; uint8_t ui8[4]; ////32비트 정수 ui32 를 8비트 정수배열에 배치하기. uint8_t * pui8 = (uint8_t*)&ui32; // ui32 의 주소를 uint8_t 포인터 형으로 받고. ui8[0] = *(pui8+0); ui8[1] = *(pui8+1); ui8[2] = *(pui8+2); ui8[3] = *(pui8+3); ///// ui8[0],[1],[2],[3] 개별적으로 분리된 것을 다시 32비트 정수 1개로 변환하기. //// ui8[0] + 2^8*ui8[1] + 2^16*ui8[2] + 2^24*ui8[3] 2020. 1. 13.
C/C++. 구조체 변수 선언 동시 멤버 초기화 typedef struct { uint8_t UI8[4]; float f; uint32_t UI32; }ST_T1; ///// 위 타입선언된 구조체 자료형으로 구조체 변수 선언 시점에 바로 멤버변수 초기화 가능. ST_T1 myST_T1 = { .UI8[0] = 20, .UI8[1] = 30, .f = 2.3, }; 첫 등록 : 2020-01-10 최종 수정 : 단축 주소 : https://igotit.tistory.com/2439 2020. 1. 10.
C, C++. 상수 2진수 , 16진수 16진수 - 숫자앞에 0x부착. 예 . 0xAC 16진수 이므로 0,..,9,A,B,C,D,E,F 로만 구성. 소문자로 해도됨. - 16진수 표현 문법은 모든 C, C++ 컴파일러에서 동일하여 완전한 표준으로 생각해도됨. 2진수 - 숫자앞에 0b 부착. 예. 0b10010001. 2진수이므로 1과0으로만 구성. - C++ 14 에서는 가독성 향상 목적으로 구분자' 사용해도됨. 예 : 0b1000'0001 - 원래 C 언어에는 2진수 표현 표준규격없었음. - 컴파일러마다 0b 를 2진수로 처리가능한 경우도 있고, 아닌 경우도 있음. - gcc 에서는 0b 가능. KEIL MDK-ARM 에서는 0b 모름. 2진수 표현 위한 마크로 - 모든 C 컴파일러에서 사용가능하려면 아래 코드예처럼 마크로 이용해도 된다... 2020. 1. 3.
C/C++. 메모리 스택, 힙,지역변수, 동적 메모리 할당. stack, heap, new, delete 스택(Stack), 힙(Heap) C/C++ 에서의 스택이니, 힙이니 하는 것들은 C/C++ 컴파일러에서 메모리 핸들링 하는 것에 대한 기능적 메모리 구분 명칭. (타겟 시스템에 하드웨어적으로 스택, 힙 영역의 메모리가 따로 있는 것 아님) Stack 1. 프로그램의 "함수내"에서 선언된 지역변수(자동변수) 저장되는 메모리. 2. 함수가 끝나면 stack 에 저장된 것은 프로그램 코드에서 명시적 제거 처리 하지 않아도 자동 삭제됨. Heap 1. 프로그램에서 "동적 생성"한 경우 Heap 에 저장됨. - 동적 생성이란, new, malloc 함수 등으로 메모리 할당하는것을 의미함. 2. Heap 에 생성된 메모리는 자동 삭제되지 않음. 프로그램내에서 명시적으로 제거처리(delete, free 등) 해야 .. 2019. 12. 28.
C. malloc , free 메모리 동적 할당. 제거. 헤더파일 : stdlib.h void * malloc (uint32_t byte_size) 반환값 성공시 생성된 주소 포인터 실패시 NULL void free(void * ptr) - malloc 으로 생성된 메모리 영역 제거하는것. malloc, free 사용예. 1차원 배열 동적 생성 //예 uint8_t 1차원배열 100개 동적 생성. uint8_t * pui8Arr; pui8Arr = (uint8_t*)malloc(sizeof(uint8_t)*100); // 상기 생성된 메모리블럭 지우기. free((void*)pui8Arr); 2차원 배열 동적 생성 //예 uint8_t 2차원배열 [5][9] 동적 생성. uint8_t ** ppui8Arr; ppui8Arr = (uint8_t**)malloc(.. 2019. 12. 28.
C/C++. 구조체 메모리 동적 할당. malloc , free 개요 // 정적 구조체 배열 생성예. typedef struct _st1 { uint8_t ui8Arr[100]; }ST_T1 ST_T1 myST_T1[5][9]; // 구조체 ST_T1 을 2차원 배열 5x9 짜리로 생성하는것. 위와 같은 정적 생성 방식의 구조체 배열 생성하지 않고 동적 생성하는 방법 정리. 1. 구조체 멤버만 동적 생성예. 2. 구조체 배열만 동적 생성예. 3. 구조체 멤버 및 배열 모두 동적 생성예. 1. ST_T1 의 멤버 1차원 배열만 동적생성 예. 상기와 같은 정적 방식으로 구조체 2차원 배열로 만든것과 달리, ST_T1 의 1차원 배열 uint8_t ui8Arr[100] 처럼 고정 사이즈 100 이 아닌 동적 임의 사이즈 배열 생성가능한것을 멤버로 가지면서, ST_T1 의 .. 2019. 12. 28.

.    
현물 |선물 인버스 |선물 USDT     현물 | 선물 USDT |봇제작툴/카피트레이딩     현물 |선물 인버스 |선물 USDT     .