본문 바로가기

C/C++3

[C/C++] Devtoolset으로 최신 컴파일러 적용 방법 제약 조건 CentOS 6 이상 환경 설치 방법 # 1. centos-release-scl 설치 yum --enablerepo=extras install centos-release-scl # 2. 업데이트 yum update # 3. devtoolset-7 설치 yum install -y devtoolset-7 # 4. scl 실행 scl enable devtoolset-7 bash 최신 컴파일러로 전환 # 명시적으로 devtoolset-7 적용 (devtoolset 하위 버전도 적용 가능) source /opt/rh/devtoolset-7/enable Shell 접속 시 자동으로 최신 컴파일러 적용 방법 echo -e "source /opt/rh/devtoolset-7/enable" >> ~/.bashrc 2020. 9. 4.
[VS Code] C/C++ 코딩 스타일 세팅 방법 확장 앱 설치 C/C++ , C++ Intellisense 위 링크에 해당하는 확장 앱 설치 명령 팔레트(Ctrl + Shift + p) 실행 후 사용자 설정 열기 코딩 스타일 설정 "C_Cpp.clang_format_style": "{ IndentWidth: 4, ColumnLimit: 80 }", "C_Cpp.clang_format_fallbackStyle": "Google", 코딩 스타일을 "Google" 외에도 아래와 같이 선택 가능한 항목이 있다. (링크) TAB 사이즈 설정 "editor.tabSize": 4 상단의 IndentWidth는 코딩 포매팅 시 사용할 탭 사이즈를 세팅하는 것이다. 추가적으로 위 세팅과 같이 맞춰주는 것이 좋다. 2020. 9. 4.
[C++] memory safety한 mysql_real_escape_string 래핑 함수 동적 할당을 이용한 mysql_real_escape_string 래핑 함수 char* Convert(const char* str) { // 모든 문자열이 escape 문자가 추가될 수 있으니 x2, 널문자를 위한 +1 int size = sizeof(str) * 2 + 1; char *convert = new char[size]; std::string ret = ""; memset(convert, 0x00, size); mysql_real_escape_string(db, convert, str, sizeof(str)); ret = convert; delete [] convert; return ret.c_str(); } 메모리를 할당할때는 Memory Safety 한지 확인이 필요하다!!! 생각 없이 so.. 2020. 3. 5.