일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- meta table
- C++ API
- 국토교통부
- QT TCP
- 티몬삼겹살데이
- 중소규모택지
- 등록임대주택
- 프리미어 영상변환
- 찾다죽는줄
- FILE TRANSFER
- 엑스퍼트생일축하해
- lua interpreter
- 월세
- 수도권주택공급
- file open
- Lua
- lua setup
- #부동산전자거래 #부동산전자계약 #부동산계약 #부동산전자계약방법 #부동산전자계약하는법 #부동산계약방법 #부동산중개수수료 #부동산중개수수료아끼기 #부동산복비아끼기
- file write
- lua for windows
- 프리미어 영상저장
- TCP/IP
- lua install
- object
- 엑스퍼트2주년
- QTcpServer
- #신혼부부 #결혼준비 #신혼부부희망타운신혼부부특별공급
- file read
- C API
- 청량리역한양수자인192
- Today
- Total
목록1. 프로그래밍/5) C++ (17)
Value Creator의 IT(프로그래밍 / 전자제품)
개발 환경 선택 Visual Studio 2019Visual Studio 2017Visual Studio for Mac .NET으로 모바일 앱 빌드를 시작하기 위해 Visual Studio 및 Xamarin을 설정하는 방법입니다. Windows에서 Xamarin 설치 단계별 지침 Xamarin은 다음 단계에 따라 새로운 Visual Studio 2019 설치의 일부로 설치할 수 있습니다. Visual Studio 페이지에서 Visual Studio 2019 Community, Visual Studio Professional 또는 Visual Studio Enterprise를 다운로드합니다(아래쪽에 다운로드 링크가 제공됨). 다운로드한 패키지를 두 번 클릭하여 설치를 시작합니다. 설치 화면에서 .NET을 ..
1. 스마트폰에 드로이드캠 앱 다운 2. PC에 드로이드캠 PC버전 다운 3. IP 맞춰줌(같은 공유기) 4. 연결해서 실행 끝
1장. write(2) 차례1.1절. 사용법1.2절. 설명1.3절. 반환값1.4절. 에러1.5절. 예제 파일기술자가 가리키는 파일에 쓴다. 이 파일기술자는 open(2), socket(2) 등으로 얻을수 있다. 1.1절. 사용법 1.2절. 설명 첫번째 아규먼트인 fd 는 열린파일 기술자이다. 이것은 보통 open(2), socket(2) 등으로 만들어지며, 때때로 pipe(2) 등으로 만들어지기도 한다. 두번째 아규먼트(:12)는 fd 로 쓸 데이타이며, count 는 fd 쓸 데이타의 크기이다. 1.3절. 반환값 성공할경우 쓰여진 바이트 만큼이 리턴된다. 0이면 쓰여진것이 없음을 나타내며, -1 일경우는 에러가 발생했을 경우이다. 에러가 발생했을경우에는 errno 에 적당한 값이 설정된다. 1.4절. ..
그럼 이제 new와 malloc의 차이점에 대해 알아보겠습니다. 1. malloc은 해당 포인터의 타입을 모르기 때문에 리턴값의 자료형은 (void *)입니다. 때문에 malloc함수를 사용시 int * i = (int*) malloc(sizeof(int))로 즉, 자료형을 앞에 선언해 줘야 합니다. 하지만 new는 type-safe로 해당 객체에 맞는 포인터로 반환해 줍니다. 때문에 별도의 자료형 선언을 할 필요가 없지요. (type-safe란 컴파일러가 타입형을 확인해주는 것입니다. 길게 풀어 써 보자면 int형은 int형으로 String형은 String형으로 잘 저장되고 있는지 확인하는 것입니다.) 2. new를 이용해 객체를 생성하면 초기 값을 줄 수 있습니다. Test a = new Test(1..
https://www.sapphosound.com/archives/389 ㅁㄴㅁㅁㅁㅁㅁ 이 글을 읽기 전에 C++ 템플릿 프로그래밍에 대해 [검색]해보고 이해를 해보셔야 합니다 .h -> 일반적인 경우 .hpp -> 템플릿 프로그래밍의 헤더파일인 경우 보통 C++을 공부할 때 클래스를 배우게 되면 클래스의 선언과 구현 부분을 아래와 같이 분리하라고 배우게 됩니다. #ifndef CLASSA_H #define CLASSA_H class A { public: A () {} A (int e) { e = element; } int foo() { return element; } private: int element=0; }; #endif A::A () {} A::A (int e) { e = element; } i..
Sleep(0)의 경우, 다른 Thread가 ready to run 되었다고 해서 자신이 쥐고 있던 CPU의 선점을 풀지 않습니다. 선점을 풀려면 조건이 있는데 그 ready to run 인 Thread가 지금 선점한 Thread와 우선순위가 equal이어야 한다고 하네요. 즉, 우선순위가 서로 같아야 A Thread에서 B Thread로 CPU사용주체가 넘어간다고 합니다. 그와 반대로 Sleep(1)의 경우, 그런 Thread간 우선순위 상관없이 다른 Thread가 ready to run 상태에 있다면 그 Thread를 위해 자신이 쥐고 있던 CPU를 놔주게 됩니다. 그럼 목적한 것처럼 A Thread에서 B Thread로 switching이 이뤄지겠죠. 명시적으로 context switch 를 발생시..
Deadlock에 이어, Semaphore와 mutex에 대해 설명하고자 합니다. - 프로세스 간 메시지를 전송하거나, 공유메모리를 통해 특정 데이터를 공유하게 되는 경우 문제가 발생할 수 있습니다. 즉, 공유된 자원에 여러 개의 프로세스가 동시에 접근하면서 문제가 발생하는 것으로써 공유된 자원 속 하나의 데이터는 한 번에 하나의 프로세스만 접근할 수 있도록 제한해 두어야 하는데, 이를 위하여 고안된 것이 바로 Semaphore 세마포어 입니다. (세마포어와 뮤텍스의 차이) 세마포어(Semaphore) : 공유된 자원의 데이터를 여러 프로세스가 접근하는 것을 막는 것 뮤텍스(Mutex) : 공유된 자원의 데이터를 여러 쓰레드가 접근하는 것을 막는 것 ** Critical section 이란 ? OS에서 ..
1.#pragma pack(1) 의미 먼저 알아야 할 것. 1) 구조체 멤버가 차지하고 있는 메모리를 alignment 하는 기능(뜻 : 데이터의 크기를 정해진 단위로 정렬한다) CPU가 메모리에 접근할 때, 아래의 단위로 접근한다. 32비트 CPU --> 4바이트 단위 64비트 CPU --> 8바이트 단위 32비트 CPU에서, 4바이트보다 작은 데이터에 접근할 경우, 시프트 연산 때문에 속도 효율이 떨어진다. 따라서 구조체의 크기를 2, 4, 8, 16 바이트 단위로 alignment 한다. 단, 임의로 alignment 하면 안되는 경우 : 사진 파일 저장하는 경우, 네트워크 데이터 전송하는 경우 등 2) 구조체의 크기와 구조체 멤버의 크기 예를 들어 아래와 같은 구조체가 있을 때, struct Pa..