cmake clang++ 을 사용해 build 하기

cmake 로 구성된 프로젝트를 clang 으로 빌드하는 간단한 방법 cmake 구성시 로 cmake 를 실행 한다 c++ 컴파일러와 c 컴파일러를 clang++ clang 으로 지정해서 구성하게 되며 컴파일 프론트엔드/백엔드가 clang / LLVM 으로 구성 된다 이상태로 빌드시 에러메세지라던지 링크 오류가 조금 달리즌것을 확인 할 수 있다 혹은 환경변수에 CC CXX 를 변경해주면 된다

so 사용중 pthread Segmentation fault 문제

리눅스 c++ a.so 내에서 pthread 사용 a.so 를 사용하는 main 에서는 pthread 미사용 main 에서 so 를 dlopen 으로 동적 로딩 cmake > target_link_libraries(${PROJECT_NAME} pthread dl) 링크 위 상태에서 발생 할 수 있는 링크 오류 실제 main 의 ldd 를 확인 해보면 pthread 가 링크되지 않은걸 확인 할 수 있음 이는 실제 링크 시 필요한 […]

vbox vs wsl(hyper-v) 상관관계

vbox 는 자체 가상화 엔진을 사용한다 그 가상화 를 돌리기 위해 하드웨어/운영체제의 그것을 가져다 써야 하는데.. wsl 을 공유할수 없다 wsl 이 먼저 가져다 쓰기 때문.. vbox 의 최근 6.16 이상 버전 에서는 hyper-v(wsl2) 와의 공동 실행이 가능하다-! 라고 하지만 실제로는 nem 이라는 모드로 실행되며 위 그림상 거북이.(녹색). 마크가 뜬다.. 우리는 이걸 일부 api(함수 호출) […]

WSL <> NOX 호환으로 인한 문제

WSL 사용중 NOX 를 설치해서 충돌날경우 아래와같이 wsl 이 정상동작 하지 않습니다……. 이때 이 방법으로 다시 wsl 서비스를 살릴 수 있습니다 아래 명령은 모두 *관리자 권한* 에서 만 실행 가능 합니다 이후 wsl ubuntu 가 정상 구동되는걸 확인 할 수 있습니다ㅣ NOX 설치시 기존 hyper-v 활성화가 다시 비활성화 되어 있을 수 있으니 windows 기능 켜기/끄기 […]

[go] golang 제네릭을 통한 슬라이스 마지막 n 개 얻기

1.18 이후 추가된 golang 의 제네릭을 사용합니다 간단히 차트를 그리는 api 를 사용하는데 실시간 마지막 100개만 출력 하고 싶었다 변화가 있을 때마다 마지막 100개를 구하는 함수-를 제네릭으로 구현했다 다른 슬라이스 에서도 해당 _size 만큼의 뒷 slice 를 구할 수 있게 되었다 차트를 그리는데에는 아래 코드를 사용했다 clear 후 해당 차트를 표시한다 마지막 100개에 대해서 https://github.com/guptarohit/asciigraph […]

Linux 배포판의 version 확인 하는 방법

종종 여러 linux 배포판을 동시에 설치해서 오가며 체크하다 보면실제로 지금 붙은 리눅스 shell 이 어느 버전인지 헷갈릴수도 있고서버에서 뭔가 안되거나 문제될때 배포판 버전을 확인 해보고자 할때 사용할 수 있는 내용이다 /etc/os-release 파일 안에는 이러한 여러 정보들이 담겨 있다 간단하게는 /etc/issue 파일에 기록되어 있는데 이는 종종 다른 이름으로 대체되어 있을 수 있어 실제 버전을 보기 위해서 […]