no image
Vector : XL-Driver-Library와 PassThru XL Library 차이
XL-Driver-Library 지원 하드웨어 CANcaseXL, CANcardXL, CANboardXL, VN16xx, VT6104 등 기능 CAN 도구에서 지원하는 대부분의 기능 메시지 송수신 데이터 캡처 신호 분석 스크립트 작성 및 실행 등 사용 목적 Vector의 CAN 인터페이스 하드웨어와 함께 Vector의 CAN 도구를 사용하는 경우에 주로 사용된다. PassThru XL Library 지원 하드웨어 SAE J2534 인터페이스를 지원하는 CAN 인터페이스 하드웨어 기능 SAE J2534 표준을 준수하여 여러 차량 제조업체에서 사용되는 인터페이스를 통해 차량에 직접 접근할 수 있도록 지원한다. 사용 목적 차량 제조업체에서 사용하는 인터페이스를 지원하기 때문에 자동차 엔지니어링 및 진단에 사용..
2023.07.11
.d파일이란?
요약 C/C++ 프로그래밍에서 .d 파일은 의존성 파일(dependency file)을 의미한다. 의존성 파일은 소스 코드 파일과 해당 파일이 참조하는 다른 파일 또는 헤더 파일 간의 의존 관계를 기록한 파일이다. 컴파일러는 의존성 파일을 사용하여 소스 코드 파일이 변경될 때마다 해당 파일을 다시 컴파일해야 하는지 여부를 결정한다. 이를 통해 개발자는 프로그램의 일부만 수정했을 때 전체 프로그램을 다시 컴파일하지 않고도 수정 사항을 반영할 수 있다. Makefile과의 관계 주로 Makefile에서 사용되는 의존성 파일은 효율적인 빌드 프로세스를 수행하기 위해 필요하다. Makefile은 소스 코드 파일 간의 의존 관계와 컴파일 및 링크 방법을 정의하는 텍스트 파일이다. 의존성 파일을 사용하여 변경된 파..
2023.07.11
Python 기본 이중 배열과 pandas 데이터 프레임 변환
Python에서는 pandas 데이터 프레임을 자주 활용하는데, 경우에 따라 기본 형식의 이중 배열과 데이터 프레임간의 데이터 형변환이 종종 필요하다. 방법은 아래와 같이 각각 심플하게 한 줄이면 해결된다. 이중 배열 -> 데이터 프레임 import pandas as pd arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] df = pd.DataFrame(arr) 데이터 프레임 -> 이중 배열 import pandas as pd df = pd.DataFrame({ 'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9] }) arr = df.values
2023.04.29
C언어 가변길이 배열 파라미터로 입력받기
요약 C언어에서 가변길이의 배열을 파라미터로 입력받을 수 있다. 일반적인 형태는 아니지만, C언어에서 자유도를 좀 더 높여주는 역할을 한다. 일반적인 코드와 가장 큰 첫 번째 차이는 파라미터에 , ... 처럼 새로운 형태의 파라미터를 추가흐는 것이다. 두 번째는 아래 함수들을 활용하는 것이다. va_list() va_start() va_arg() 아래 예시 코드를 보면 좀 더 이해를 통해 상세히 이해해보도록 하자. 예시 코드 void copyArr(uint8_t * data, uint8_t num, ...) { uint8_t *p; p = data; va_list ap; va_start(ap, num); for (int i = 0; i < num; i++) { *p = va_arg(ap, uint8_t)..
2023.04.16
.h 파일과 .c 파일
.h 파일과 .c 파일의 관계 컴파일러의 역할에 따라 .h파일만 잘 구성되면 .c파일을 잘 찾아간다.. 예) 컴파일러 혹은 그 밑단의 무언가가 .h파일을 찾으면, 이와 관련되 .c파일(또는 정의된 내용)을 알아서 찾는다. .h 파일과 .c파일의 용도 구분 용도 .h 함수, 변수, 매크로 등의 선언 .c 순수 소스 코드 파일 함수 및 변수의 구현을 포함 컴파일러가 컴파일하여 실행파일을 생성하는데 사용 공통 컴파일러는 일반적으로 헤더파일을 처리하여 컴파일 시간에 함수 및 변수를 선언 헤더는 일반적으로 컴파일 안되고 .C파일만이 컴파일됨
2023.04.16
no image
Visual Studio 추가 포함 디렉터리 시스템 매크로 정리
Visual Studio에서는 시스템 매크로가 존재한다. 개발환경에 따라, 사용처는 다르겠지만 Visual Studio의 추가 포함 디렉터리에서도 활용된다. 시스템 매크로 매크로 설명 $(ProjectDir) vcproj 파일의 경로 $(SolutionDir) sln 파일의 경로 $(Configuration) Debug, Release 경로 추가 포함 디렉터리 시스템 매크로 활용 예시
2023.04.16
AES(Advanced Encryption Standard, 고급 암호화 표준) 요약
개요 AES는 ISO/IEC 18033-3 표준에 포함되어 있다. 암호화 키로 128 bit, 192 bit, 256 bit를 가질 수 있는데 이를 AES-128, AES-192, AES-256 라고 한다. 128bit / 16Byte / 10 라운드 192bit / 24Byte / 12 라운드 256bit / 32Byte / 14 라운드 AES는 대입치환(Substitution-Permutation Network)을 사용한다. 말 그대로 대입(Substitution)과 치환(Permutation)을 이용하는 방식으로, bit 전체를 암호화한다. 패딩 암복화 알고리즘 경우 input 데이터의 길이는 block size의 배수가 되어야 한다. 하지만, 데이터의 길이가 block size의 배수가 아닌 경우..
2023.04.16
no image
무료 XML 뷰어/에디터 : XmlPad
무료 XML 뷰어 및 에디터 기능이 있는 XmlPad를 소개한다. 구글링을 통해 보면, 과거에는 라이센스가 있던 기업같은데 회사가 문을 닫았는지 본 사이트는 들어갈 수가 없고 이곳저곳에서 다운로드가 가능하다. 참고로 내가 받은 링크는 이 글의 가장 하단에 작성해뒀다. XmlPad는 여러 형태의 뷰를 지원한다. 사실, 이것 때문에 추천하는데 뷰어의 형태를 하나씩 확인해보자. View : Source 이 뷰는 말 그대로 소스 형태다. 긴 설명이 필요 없다. View : Grid view Grid view는 다단 형태로 보여준다. 일반 xml 에디터에서도 흔히 볼 수 있는 형태다. View : Table view Table view는 새로운 형태로 보여준다. 기존 다단의 느낌에서 좀 더 추가되는 모습이다. 개..
2023.04.16
no image
Visual Studio 솔루션 및 프로젝트 이름 변경
Visual Studio는 솔루션과 프로젝트 이름을 변경할 수 있다. 하지만, 다른 설정들하고 엮여있으면, 이름들을 변경했을 때 꼬일 수 있어서 추천하지 않는다. 꼭, 필요한 개발자만 활용하자. Visual Studio 솔루션 이름 변경 솔루션 -> 마우스 우클릭 -> 이름 바꾸기 Visual Studio 프로젝트 이름 변경 프로젝트 -> 마우스 우클릭 -> 이름 바꾸기
2023.04.16