본문 바로가기

파일20

TMS320F28388D ] 링커커맨드 파일과 컴파일러 섹션 링커커맨드 파일과 컴파일러 섹션에 대한 이해...  Compiler Sections C 코드는 컴파일러를 통해 어셈블리 코드로 변환되고 어셈블리 코드는 어셈블러를 거쳐 오브젝트 파일이 된다. 모든 C 코드는 섹션이라고 불리는 여러 부분으로 분리될 수 있는데 컴파일러는 컴파일 과정에서 C 코드를 분석하여 각 섹션에 들어갈 데이터를 구분한다. 그리고 오브젝트 파일의 구성을 보면 각 섹션별로 데이터가 저장되며 이외에도 변수, 함수 등의 심볼 정보를 가지고 있는 심볼 테이블이 포함된다. 이러한 섹션의 이름에는 .text, .stack, .bss 등 공통적으로 사용되는 것들도 있지만 툴체인마다 섹션의 이름이 약간씩 다르거나 추가적인 섹션이 있을 수 있다. C28x 컴파일러의 섹션은 다음과 같다. Section N.. 2024. 8. 16.
bulkfilechanger ] 파일 생성 / 수정 / 액세스 날짜 임의로 수정하기 Freeware인 BulkFileChanger 를 다운로드 한다. https://www.nirsoft.net/utils/bulk_file_changer.html BulkFileChanger: Change date/time/attributes of multiple files BulkFileChanger v1.72 Copyright (c) 2010 - 2021 Nir Sofer See Also NK2Edit - Edit, merge and repair the AutoComplete files (.NK2) of Microsoft Outlook. FolderTimeUpdate - Update the 'Modified Time' of every folder according the latest modified t.. 2024. 1. 11.
Windows ] 오래된 파일을 삭제하는 배치 스크립트 오래된 파일을 삭제하는 배치 스크립트를 만들 때 forfiles 명령어를 사용할 수 있다.  forfiles 명령어 기본 형식forfiles [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -] [date | days]] /P pathname : 파일이 위치한 폴더 경로 지정, 기본적으로 현재 작업 디렉토리에서 검색을 시작하며 절대경로도 올 수 있다./M searchmask : 파일 이름 패턴 지정 (*.*, Log??.txt, *.tmp 등) /S : 하위 폴더 포함 검색 옵션 /C command : 찾은 파일에 실행할 명령 지정, /C "cmd /c 명령어" 와 같이 작성하면 되며, @file, @path, @fname, @ext 등을 사용해 찾은.. 2024. 1. 2.
Visual Studio ] C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 한글버전 Visual Studio를 사용하다보면 아래 경고가 뜰 때가 있다. C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 기본적으로 소스파일, 헤더파일을 만들고 한글 주석을 다는 경우 인코딩이 ANSI로 바뀐다. 파일을 메모장으로 열어보면 알 수 있다. 이게 문제가 되므로 인코딩을 UTF-8로 다시 바꿔주면 된다. 해결방법 1 파일 선택 상단 메뉴의 파일 - 우클릭 - 다른이름으로 ... 파일 저장 - 인코딩하여 저장 선택 ... 파일이 이미 있습니다. 바꾸시겠습니까? 라는 문구가 뜨면 예 선택 인코딩을 UTF-8로 변경하여 저장하면 된다. 참고. 유니코드 - 코드 페이지 1200은 UTF-16을 의미한다. 해결방법 2 이미 만들어진 파일의 경우 위의 방법으로.. 2023. 11. 25.
Windows ] 원격 데스크톱 연결 시 파일 전송하기 원격 데스크톱 연결에서 옵션 표시 클릭 로컬 리소스 - 로컬 장치 및 리소소스 - 자세히... 클릭 드라이브 - 연결할 드라이브 체크 이렇게 설정한뒤 원격 데스크톱 연결한다. 원격지 Host PC의 파일 탐색기 - 내 PC에 접근하면 Guest PC의 드라이브에 접근할 수 있다. 이후 파일 복사 붙여넣기를 통해 서로 전송하면 된다. 2023. 11. 17.
파일 디스크립터 파일 디스크립터(File Descriptor, FD)란 Linux 혹은 Unix 계열 운영체제에서 프로세스가 파일 또는 네트워크 소켓과 같은 입출력 리소스에 대해 접근할 때 사용하는 추상적인 식별자이다. 윈도우에선 HANDLE이라고 부른다. 파일 디스크립터는 0이 아닌 정수값을 가지며 C언어에서는 int 형식으로 표현된다. 유효하지 않거나 오류인 경우를 나타내는 음수값과 다른 목적으로 고정된 0부터 2를 제외하고, 프로세스가 파일을 열거나 소켓을 생성할 때 일반적으로 3부터 시작해 파일 디스크립터 숫자 중 사용하지 않는 가장 작은 값을 할당한다. 이렇게 할당된 파일 디스크립터를 사용하여 프로세스가 열려있는 파일에 시스템 콜을 사용하여 접근할 수 있다. Reference: https://en.wikiped.. 2023. 9. 28.
C++ ] .ini 파일 포맷, 설정 파일 입출력 방법 .ini 파일 포맷 .ini 파일은 텍스트 파일로 주로 설정 데이터를 저장하는 데 사용된다. 그리고 각 설정은 섹션과 키-값 쌍으로 구성된다. [섹션] 키=값 [Database] ServerName=MyServer Port=5432 [User] Username=JohnDoe Password=Secret123 아래 소개할 함수들은 Windows API의 일부로 Windows.h를 포함해야 사용할 수 있으며, 설정 파일에서 구성 데이터를 읽어올 때나, 설정파일에 구성 데이터를 쓸 때 사용할 수 있다. GetPrivateProfileInt 섹션과 키를 사용하여 .INI 파일에서 설정 값을 찾으며, 설정 값을 정수(INT) 형태로 반환한다. 만약 해당 섹션이나 키를 찾지 못하면 기본값으로 설정된 nDefault.. 2023. 9. 27.
Notepad++ ] 수정된 파일 자동으로 새로고침하기 (파일 모니터링) 보기 - 모니터링 파일의 변화를 모니터링하는 리눅스의 tail -f 명령어와 같은 기능이다. 설정 - 환경설정 - 기타 - 파일 상태 자동 확인 설정으로 가능하다. 2023. 9. 15.
윈도우10 탐색기에서 최근에 사용한 파일 / 폴더 목록 지우기 탐색기 - 옵션 - '폴더 및 검색 옵션 변경' '최근에 사용된 파일 / 폴더 표시' 체크 해제 후 지우기 클릭 2023. 7. 11.
C#, WinForms ] CRC Checker private void button1_Click(object sender, EventArgs e) { // 초기 디렉토리 설정 openFileDialog1.InitialDirectory = "C:\\"; // 파일 필터 설정 openFileDialog1.Filter = "모든 파일 (*.*)|*.*|텍스트 파일 (*.txt)|*.txt|바이너리 파일 (*.bin)|*.bin|데이터 파일 (*.dat)|*.dat"; // 마지막으로 파일 대화 상자에서 선택한 디렉토리를 기억하고, 다음번 파일 대화 상자를 열 때에는 이전에 선택한 디렉토리를 자동으로 선택 openFileDialog1.RestoreDirectory = true; if (openFileDialog1.ShowDialog() == DialogRes.. 2023. 5. 14.
C#, WinForms ] Drag & Drop 으로 파일 경로 얻기 파일 시스템에 액세스하기위해 using System.IO; 선언 Form의 AllowDrop 속성 true 일반적으로 Form이나 Control에는 파일을 Drop할 수 없기 때문에, 해당 Form이나 Control에 AllowDrop 속성을 true로 설정해주어야 한다. this.AllowDrop = true; DragEnter, DragDrop 이벤트 핸들러 추가 this.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop); this.DragEnter += new System.Windows.Forms.DragEventHandler(this.Form1_DragEnter); DragEnter 이벤트 : 사용자가 무언인가를 .. 2023. 5. 14.
STM32 ] TFTP Server 파일 송수신 + USB Host MSC int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_USART3_UART_Init(); MX_FATFS_Init(); MX_USB_HOST_Init(); MX_LWIP_Init(); tftpd_init(); while (1) { MX_LWIP_Process(); MX_USB_HOST_Process(); } } USB와 랜케이블 연결 아래경로에서 tftpd64 를 다운받아 설치한다. https://bitbucket.org/phjounin/tftpd64/downloads/ phjounin / tftpd64 / Downloads — Bitbucket For large uploads, we recommend using the API. Ge.. 2023. 4. 15.
TFTP 프로토콜 TFTP 프로토콜 HTML 삽입 미리보기할 수 없는 소스 Trivial File Transfer Protocol의 약자로, 인터넷 프로토콜 스위트(IP Suite)*의 일부로서 파일 전송 프로토콜이다. TFTP는 TCP/IP 프로토콜 스택을 기반으로 하며, 그 중 UDP(User Datagram Protocol)를 이용하여 작동한다. 기본적으로 UDP 포트 69번을 사용하며, 전송할 파일의 이름과 위치를 포함하는 요청 메시지를 TFTP 서버에 보낸다. 이후 TFTP 서버는 파일을 찾아서 클라이언트에게 전송하는데, 전송 과정에서는 오류 검사와 재전송을 처리하는 기능이 내장되어 있다. TFTP는 파일 전송 속도가 느리고 오류 처리 기능이 FTP와 비교해 상대적으로 취약하다는 단점이 있지만, 작은 파일을 빠르.. 2023. 4. 10.
배치파일 관리자 권한으로 실행되게끔 하기 원본 배치파일의 바로가기를 만든다. 바로가기 파일 우클릭 - 속성 - 고급 관리자 권한으로 실행 체크 후 확인 이러고 원본은 숨겨두면 된다. 혹은 bat to exe converter를 사용하는 방법도 있다. 2023. 2. 22.
TMS320F28388D ] RAM에 NOINIT 변수 두기 불가 Reset으로 초기화 되지 않는 램 영역에 변수를 둬서 리셋 카운트값을 저장하려고했다. 링커커맨드파일에 type=NOINIT 으로 섹션 타입을 지정할 수 있어 그렇게 했는데도 여전히 0으로 초기화된다. 찾아보니 ECC(Error Correction Code)/Parity 가 적용된 RAM 영역(M0, M1, LSx, GSx, MSGRAM 등)은 부트 과정에서 부트 롬에 마스킹된 부트코드에 의해 0으로 초기화(Clear) 된다고한다. TRM p.699 power-on reset 말고 디버거 리셋시에는 intialized 되지 않는 듯하다. 2023. 1. 25.
윈도우 배치파일(.bat) 만들기 (레지스트리를 통해 시작 프로그램에 등록) 및 유용한 명령어 윈도우 배치파일(batch file)은 명령 프롬프트(cmd)에서 순서대로 실행할 명령어들을 한번에 일괄로 실행 실행할 목적으로 만드는 명령어들의 집합 파일이다.    보통 윈도우 배치 스크립트는@echo off로 시작해서 이후 실행할 명령어들이 나열된다. 여기서@ 는 해당 명령어를 화면에 표시하지 말라는 뜻이고echo off 는 이후 실행할 명령어들을 화면에 출력하지 않기 위해 echo를 끄는 것이다.  그 다음으로 아래 문구 또한 배치파일 초반에 적어두는 경우가 많다.pushd “%~dp0”보통 배치파일 스크립트는 실행될 위치를 염두해 두고 상대경로로 작성을 하게 되는데, 관리자 권한으로 배치파일을 실행시 명령 프롬프트 위치가 C:\WINDOWS\system32 로 실행되기 때문에 의도한 결과가 나오.. 2023. 1. 18.
Windows ] 송수신 테스트용 더미파일 만들기 파일 만들 위치에서 cmd . 혹은 파일명에 경로도 같이 쓴다. fsutil file createnew 파일 사이즈는 byte 단위 > fsutil file createnew test.txt 1024 1KB의 더미 txt파일 만들기 한글 더미 텍스트 생성기 : https://hangul.thefron.me/ 영어 더미 텍스트 생성기 : https://www.lipsum.com/ test000 부터 test999 까지 반복해 생성하는 윈도우 배치파일 @echo off setlocal enabledelayedexpansion set file_prefix=test REM set file_extension=.txt set file_size=1048576 set num_files=1000 for /l %%i in.. 2022. 11. 15.
OpenCV ] 데이터 파일 입출력 OpenCV에서는 영상 데이터가 아니라 int, float, double 등 일반적인 자료형과 Mat 클래스 객체 등을 XML, YAML, JSON 파일 형식으로 저장하는 기능을 제공하는데 FileStorage 클래스 사용 데이터 파일 저장하기 void writeData() { String name = "Jane"; int age = 10; Point pt1(100, 200); vector Scores = { 80,90,50 }; Mat mat1 = (Mat_(2, 2) 2022. 8. 18.
OpenCV , C++ ] 카메라와 동영상 파일 다루기 예제 코드 출처 : OpenCV 4로 배우는 컴퓨터 비전과 머신러닝 1. 웹캠으로부터 정지 영상 프레임을 두 번 받아와 각기 다른 창에 띄우는 예제 void CaptureVideo() { VideoCapture cap(0); // OpenCV에서는 VideoCapture라는 클래스를 이용해 카메라 또는 동영상 파일로부터 정지 영상 프레임을 받아 올 수 있음 // 동영상 파일을 불러올 때는 "파일 이름" 을 인자로 넣고, 파일이 다른 폴더에 있으면 절대경로 또는 상대경로 추가함 // 카메라 장치를 열 때에는 카메라 장치 id 번호를 정수 값으로 전달. 0으로 해서 안되면 1, 2 시도 if (!cap.isOpened()) {// 예외처리 cerr 2022. 8. 16.
WinMerge 텍스트 및 파일 비교 프로그램 (무료) 무료 텍스트 및 파일 비교툴 WinMerge 다운로드 링크 : https://winmerge.org/downloads/?lang=en Download WinMerge - WinMerge Download WinMerge The easiest way to install WinMerge is to download and run the Installer. Read the online manual for help using it. WinMerge 2.16.20 The current WinMerge version is 2.16.20 and was released at 2022-04-27. For detailed info on what is new, winmerge.org 설치 후 폴더 단위로 두 폴더를 선택 후 오.. 2022. 5. 27.