참조 어떤 이유로 프로그램이 오류로 비정상 종료하는 경우 기본적으로 프로세스의 현재 디렉토리에 core.PID 형태로 덤프를 남긴다. CentOS에서는 기본적으로 코어 덤프를 남기지 않게 설정 되어 있다. 코어 덤프를 남기고 싶다면 아래처럼 수정해야 한다. vi /etc/systemd/system.conf DumpCore=yes DefaultLimitCORE=infinity 위 설정으로 코어 덤프...
더 읽기
최신 VC 에서는 localtime을 사용하면 경고(컴파일 실패 되는)가 나온다. localtime_s를 사용해야 한다. include<stdio.h> include<time.h> int main(void) { time_t curTime = time(NULL); struct tm tmCurTime; errno_t error; error = localtime_s(&tmCurTime, &curTime); if (error != 0) { printf("현재 시간을 얻을 수 없다.\n");...
더 읽기
더 읽기
함수 인라인화 조건
함수에 포함 되는 식이 40개 미만
함수 호출・루프・클로져・panic・recover・select・switch 라는 복잡한 것을 포함하지 않는다
출처
인라인화 막기
//go:noinline 라는 pragma를 사용한다.
package main
func main() {
HelloNoInline()
}
//go:noinline
func HelloNoInline() interface{} {
return struct{}{}
}
더 읽기
몇 년전에 웹에 공개된 글을 보고 정리했던 글이다.
더 읽기
네트워크 특정 port에 접속한 네트워크 정보 보기 32452 port에 접속한 네트워크 정보를 보고 싶은 경우 netstat -nap | grep :32452 파일 디렉토리 이름 변경 mv 옵션... 원본 대상 mv 옵션... 원본... 디렉토리 mv 옵션... 디렉토리 디렉토리 파일 path 추가 home/본인아이디...
더 읽기
출처 클래스의 같은 값 비교, 해시 함수가 필요 #include <unordered_map> class Point{ public: int x, y; Point(){} Point(int x, int y):x(x),y(y){} bool operator==(const Point &left) const {return this->y == left.y;} }; namespace std{ template<> class hash<Point>{ public: size_t operator ()...
더 읽기
더 읽기
컴파일 시에 정해진 조건 C의 bool 값에 의해 타입 A 혹은 B를 선택하고 이 타입의 변수를 선언하고 싶은 경우 의사 코드는 아래와 같다. if (C) { A x; } else { B x; } 이것을 구현하기 위해 std::conditional을 사용하여 typename...
더 읽기
아래의 코드는 컴파일 에러가 된다. using MyString = std::basic_string< char, std::char_traits<char>, MyAllocator<char>>; std::unordered_map<MyString, int> umap; // 이 부분이 에러 이유는 unordered_map이 필요로 하는 std::hash는 std::hash<std::string>로 정의 되어 있는데 allocator를 특별화한 문자열 타입의 정의가 없기 때문이다. C++17에서는 이 문제를 간단하게 해결할...
더 읽기