Coding
-
memset을 이용한 초기화 문제Coding/Tip !! 2019. 2. 8. 15:03
네트워크 코딩을 하다보면 memset을 이용하는 일이 자주 생긴다.(물론 다른 코딩에서도 많이 쓰일거라고 생각한다) 하지만 이러한 memset을 사용할 때 주의할 점들이 있다. 바로 1Byte 변수(uint8_t, char, unsigned char 등)이 아닌 변수들을 초기화할 때0의외의 값을 사용하면 안된다는 점이다. 그 이유는 만약 4Byte 변수인 int형을 memset으로 초기화하게되면바이트 단위로 초기화가 처리되어 00000001 00000001 00000001 00000001 이 되버려서 값이 0이아닌 다른 수가 되어버린다. 또한 new, malloc 등을 이용한 동적으로 생성한 배열, 변수가 있는struct, class에서는 memset을 이용한 초기화를 해주면 안된다. 예를 들어 다음과 ..
-
QT creator 설치Coding/QT 2018. 10. 7. 16:31
Qt creator 설치 방법 칼리리눅스에서 보통 코딩을 할 때 주로 사용한다. 강추!! ㅎㅎ 해당링크로 들어가면 자동으로 운영체제별 설치파일의 다운로드가 진행된다. https://www.qt.io/download 여기서 Go open source 버튼을 누른다. 그 뒤 Download를 클릭하면 설치파일이 다운로드 된다. 칼리리눅스나 우분투에서 다운로드를 받게되면 아래에 보이는 파일에 실행 권한을 주어야 실행가능하다. 아래와 같이 권한을 준 뒤 실행을 하게되면12chmod +x qt-unified-linux-x64-3.0.5-online.run./qt-unified-linux-x64-3.0.5-online.run 하게되면 설치가 진행된다. 혹시나 리눅스상에서 용량이 부족해서 용량을 늘리고 설치해야할 경..
-
자료형 크기와 범위 코딩하기Coding/Tip !! 2018. 10. 3. 11:37
자료형에 대한 크기를 공부할 때 도움이 되는 함수에 대해서 간략하게 포스팅해보려고 한다. 예를 들어 short 형의 크기를 알고 싶은 경우 unsigned일 때 범위가 0 ~ 65535인데 이는 알다시피 2바이트 즉 16비트로 이루어져있고 0과 1 임으로 2^16 이기 때문에 총 65536개의 숫자가 나오게 된다. 이를 계산하려면 헤더에 있는 pow함수를 이용하여도 되지만 더욱 간단한 방법이 있다. 라이브러리를 이용하는 것인데 아래와 같이 사용하면 된다.1234567891011121314#include #include int main(){ using namespace std; -> 이런건 중괄호 안에 선언해주는 것이 좋음 꿀팁!!ㅎㅎ cout
-
변수 초기화 방법Coding/Tip !! 2018. 10. 3. 09:44
변수를 초기화하는 방법 3가지 Copy Initialization, Direct Initialization, Uniform Initialization 1. Copy Initialization1int a = 123; 가장 흔히 초기화하는 방법임으로 설명은 생략하겠다. 2. Direct Intialization1int a(123); 괄호를 이용한 초기화 방법이다 3. Uniformj Intialization1int a{123}; 2,3 번은 built in data type(제공해주는 데이터타입)이 아닌 사용자가 만든 데이터타입을 초기화할 때 많이 사용된다. 1,2 에 비해서 3번의 경우 조금 더 엄격한 문법을 지킨다. 예를 들어 위에서 처럼 데이터타입이 int 일 때 소숫점 숫자 1.23456을 넣게되면 ..
-
매크로 함수Coding/Tip !! 2018. 10. 3. 07:23
매크로(define) 자주 사용하게 되는 상수 등을 문자형식으로 나타내어 편리하게 사용하게 하는 것이다.매크로 상수는 컴파일 전에 전처리기에 의해서 미리 치환되며 변수이용보다 처리속도가 빠르다.#define을 사용하며 매크로 정의 시 앞부분에 써주면된다.보통 대문자로 많이 정의하며 가독성을 높여주고 유지보수를 편하게 해준다. Tip!#은 전처리기의 의미로 컴파일,빌드 하기 전에 진행한다는 의미이다. 매크로 함수[형식] #define 매크로 상수이름 문자열 or 숫자#define 매크로상수이름(인자) 수식 or 문자열 or 숫자 아래는 매크로 함수예시이다. 삼항연산자를 이용하였다.삼항연산자 -> (조건식) ? (참 일때) : (거짓 일때) 12345678910111213#include using names..
-
Header GuradCoding/Tip !! 2018. 10. 2. 11:30
Header Guard 란?? 헤더 가드의 이해를 돕기위해 예시로 설명하겠다.예를 들어 우리가 헤더파일을 생성했을 때 main 함수와 헤더파일 내부에 아래와 같은 함수가 있다고 가정해보자. main.cpp1234567891011#include #include "test1.h"#include "example123.h" using namespace std; int main(){ cout 두번이나 중복됨 (example123.h에서 include되었음으로 두번 불리게 된 것임){ return a + b;} int main(){ cout