C++ 비트 연산 예제와 설명 (Bit Not, Or, Xor, And) 아래는 C와 C++에서 사용할 수 있는 비트 연산 예제입니다. 별도의 헤더 파일로 만들어 사용하거나 기존의 소스에 추가하세요. C++ 비트 연산은 자주 사용되기에 잘 알아두는 것이 좋습니다. 무엇보다 잘못 사용하면 속도 매우 느려지기에 효율적인 코드를 구성하는 것이 중요합니다. 바로 아래 예제는 비트 클리어, 비트 설정, 비트 반전, 비트 검사, 비트 추출을 나타냅니다. 12345678910111213141516171819202122unsigned char a = 0xf0; // 11110000 // 비트 클리어a &= ~(0x1
CMake PCL Qt5, CMakeLists 구성 방법과 예제 PCL의 3rd party 라이브러리 중 하나인 vtk(visualizer toolkit)은 2016년 현재 Qt 4.8.4까지 지원하고 있다. Qt가 5.6까지 나온 것을 고려하자면 정말 너무할 정도로 호환성이 떨어진다. Qt가 버전 5부터 급격히 변화한 것은 사실이나, 그렇다고 해서 아직도 지원을 미루고 있는 현 상황은 내심 불만이다. Qt5 부터 지원되는 다양한 라이브러리를 PCL에선 현재 사용할 수가 없다. 만약 각종 뷰어를 안 쓴다면 PCL을 사용할 수 있으나, 뷰어가 필요하다면 Qt의 버전을 4.8.4까지 낮춰야 한다. 이런 결론을 얻을 수 있었던 건, 내가 Qt5를 이용해 각종 삽질을 해봤기 때문이다. 내가 실수한 부분도 있을 ..
우분투 ROOT 권한으로 프로그램 자동 실행 (Ubuntu 관리자) 순서는 아래와 같습니다. 1. 일반 계정으로 자동 로그인2. 로그인되는 시점에 프로그램 실행용 쉘 구동 1, 2번을 수행하기 위해선 몇 가지를 미리 설정해 놓아야 합니다. 아래글은 우분투 Root 권한으로 프로그램 자동 실행하는 순서를 모두 합친 것이니 순서대로만 따라 하시면 잘 될 겁니다. 1. 암호 및 키 -> 왼쪽의 default 우클릭 -> 암호 바꾸기 -> 암호 공백으로 설정 위 그림처럼 암호란을 비워둡니다. 2. gksu 설치 1sudo apt-get install gksucs 아래에도 언급되겠지만, 실행 명령어 Exec 뒤에 sudo를 붙이면 실행이 안 됩니다.그러나 gksu를 사용하면 실행이 되는데 자세한 이유는 모르겠습니..
비주얼스튜디오 2010 설치 오류, 경로 못바꿀 때 해결 방법 비주얼 스튜디오 2010을 다시 설치하려는데 제품 설치 경로를 변경하지 못하는 상황이 있었습니다. 분명, 설치 경로는 변경할 수 있었는데, 어찌 된 일인지 변경을 못 한다네요? 그래서 MS에서 제공하는 삭제 프로그램도 실행시켜 보고 레지스터도 정리해 봤지만, 비주얼 스튜디오 설치 경로를 바꾸지 못하는 증상은 여전했습니다. 그리하여, 아주 원초적인 방법을 선택하기로 했죠. 일단 아래 그림 보시죠. 종속적인 요소들이 이미 설치되어 있습니다. VS2010을 삭제한 상태인데도 남아있죠. 설치 경로를 변경하지 못하는 이유도 종속적인 구성 요소들 때문입니다. 저는 이 증상을 해결하기 위해 발품이 아닌 손품을 팔았습니다. 제어판을 열어 비주얼 스튜디오 2..
C# interop type cannot be embedded (비주얼스튜디오 에러) 에러 메시지 : Interop type XXX cannot be embedded. Use the applicable interface instead 비주얼 스튜디오에서 발생하는 에러입니다. 이 경우엔 에러가 발생하는 참조 속성인 Embed Interop Types를 바꿔줍니다. 그리고 이벤트를 사용하지 않을 경우엔 Interop Class를 생성하지 않아도 되니 고려할 필요는 없습니다. 참조 사이트 - Check your Embed Interop Types flag when doing Visual Studio extensibility workC# interop type cannot be embedded (비주얼스튜디오 ..
C# Console.ReadLine 함수 사용법 (콘솔에서 문자열 처리) Console.ReadLine은 콘솔창에서 입력받는데, 사용자가 엔터를 누르면 문자열을 반환하고 다음 작업을 결정합니다. 사용 예. 개발 과정에선 입력 과정을 반복하는 것이 좋습니다. 아래 예제는 While(true) 무한 반복 루프를 통해 Console.ReadLine() 함수 사용 방법을 나타냅니다. (입력받은 문자열의 길이를 리턴하는 소스) 12345678910111213141516171819202122using System; class Program{ static void Main() { while (true) // Loop indefinitely { Console.WriteLine("Enter input:"); // Pro..
안드로이드 AChartEngine 사용법, Temperature 실시간 예제 AChartEngine 사용하기 프로젝트 - TimeChart1.zip첨부파일 - achartengine-0.6.0.jar 전체 프로젝트는 위의 첨부 파일에 담겨있습니다. 예제에 대해선 아래 설명 글들을 먼저 읽으시고 다운 받으시길 바랍니다. 그리고 바로 아래는 제가 예제를 작성하고 안드로이드 AChartEngine 예제를 공부하기 위해 주로 참조했던 포스트입니다. 먼저, 아래를 거쳐 설명 글들을 읽어주세요. 참조 사이트 공식 사이트 - AChartEngine.org 예제 1 - achartengine을 사용해 안드로이드에서 챠트를 그려봅시다예제 2 - achartengine에서 TimeBarChart 만들기 안드로이드 ACha..
TDR이란, Time Domain Reflectormeter 뜻과 장비 측정 원리 TDR(Time Domain Reflectometer)에 대해서. 일반적으로 파동Wave이 진행할 때 매질의 특성이 변하거나 장비 중간에 방해물이 존재하면, 굴절Refraction과 반사Reflection 등의 파동 변형이 발생합니다. (측정 시기를 말함) 이 중 반사는 파동이 진행하고 있는 반대 방향으로 파동이 보유하고 있는 에너지 중 일부가 되돌아가는 것을 의미하는데, TDR에서는 반사된 에너지를 파동의 입사 지점에서 관측하여 반사가 일어난 지점의 특성을 측정, 분석합니다. TDR을 이용하여 케이블을 사용하는 장비, HFC(Hybrid Fiber Coax)망, 전화선, 전력선, 대형 산업 현장의 금속 케이블, 지하철이나..
C# 3D 프로그래밍, GDI+ Euler Rotation 표현 프로젝트 - WindowsApplication2.zip C#에서 3D 구현을 위해 GDI+를 사용하기 위한 기본 구성은 다음과 같습니다. - X, Y, Z의 값을 갖는 클래스를 한 개 생성해야 합니다. - 3D 변환을 위한 공식에 대입될 값들을 조절할 줄 알아야 합니다. - 시점을 설정할 카메라 클래스도 설정해야 합니다. - X, Y, X에 몇 가지 공식을 대입해야 합니다. 직접 2D에서 3D로 변환할 방법은 구체적으론 없지만, 평면에서 이를 조절하는 방안과(Z축의 위치 계산 등) 24개로 이루어진 각 점(정면, 후면, 좌, 우, 상, 하 등 각 4점)의 위치 계산 및 고정을 위한 배열 활용이 중요합니다. 2D 3D간 변환 공식은 아래 사이..
[USB to Serial] PL-2303 USB 드라이버 모음 (Window, Linux, etc) UsbToSerial에서 주로 사용되는 PL-2303에 관한 드라이버 압축 파일과 간단한 정보입니다. 1. PL-2303 USB to Serial에 대한 기본적인 정보는 아래 PDF를 참조하세요 PL-2303_USB_to_Serial_Adapter_Driver_Installaion_Manual.pdf 2. USB to Serial Adapter Driver : Driver 배포 2009년(XP, Vista(32, 64bit)) XP, Vista, 기타 64bit OS 3. PL-2303 USB to Serial Bridge(H, HX, X) : 드라이버 배포 2005년(Vista, Server 2008,..
비주얼스튜디오 Qt5 시리얼 연동 사용법 (VS + Qt) 이 포스트는 비주얼스튜디오에 Qt Add-in을 설치한 것을 가정합니다. 실제로 비주얼스튜디오를 이용한 Qt 프로그램 제작하는 분들에게 참조할만한 포스트입니다. Qt 크리에이터를 사용하는 경우엔 이 포스트와 내용이 다릅니다. 아래부터 비주얼스튜디오 + Qt5 + 시리얼 라이브러리 사용 방법입니다. (폴더는 각자 확인하세요) 먼저, C:\Qt\Qt5.3.2\5.3\msvc2012_opengl\include\QtSerialPort 폴더를 확인합니다. 5.x 이상에선 기본적으로 SerialPort 클래스를 지원합니다. 5.x를 설치했음에도 SerialPort 클래스 이용이 안 된다면 아래를 참조하세요. Visual Studio 프로젝트 속성 링커 - ..
MFC 문자 찾기 함수 Find(), ReverseFind() (문자열에서 문자 찾기) MFC 문자 찾기 함수 Find(), ReverseFind() (문자열에서 문자 찾기) 문자열에서 원하는 문자를 찾으려면 Find와 ReverseFind함수를 사용하면 됩니다. 간단한 예제를 보죠. 1234567CString target("");char tok = '_';int index = 0; target = "MFC_cstring_example"; index = target.Find(tok);cs 찾기 성공 : 문자 위치 (인덱스) 반환찾기 실패 : -1 반환 7번 라인 : target 문자열에서 '_' 언더바를 찾아 인덱스를 반환합니다. 근데, 왼쪽, 즉 앞에서 찾는 게 아니라 뒤에서 찾고 싶다면? 그땐 Rev..