본문 바로가기
728x90
반응형

전체 글148

[C 언어] 3. Memory Structure(메모리 구조) 3. Memory Structure(메모리 구조) 메모리 구조프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드되어야 한다.운영체제는 프로그램의 실행을 위해 다양한 종류의 메모리 공간을 제공한다.코드 영역 (Code)이 영역은 실행 가능한 코드, 즉 프로그램의 명령어들이 저장된다.읽기 전용(Read Only)이며, 프로그램 실행 중에는 수정할 수 없다.컴파일된 코드가 이곳에 저장된다.데이터 영역 (Data)이 영역은 전역 변수와 static 변수들이 저장된다.초기화된 데이터와 초기화되지 않은 데이터로 나뉜다초기화된 데이터 영역 (Initialized Data Segment): 프로그램이 시작될 때 값이 할당된 전역 변수와 static 변수들이 저장된다.초기화되지 않은 데이터 영역 (BSS Segm.. 2024. 9. 1.
[C 언어] 2. Pre-process(전처리) 2. Pre-process(전처리) 전처리 지시자 #include지정한 파일을 읽어 와서 지시자가 있는 위치에 삽입한다.#include : 시스템 헤더파일 내용 복사. 컴파일러가 설정한 include 디렉터리에서 검색.#include “ ” : 사용자 정의 헤더파일 내용 복사. 소스 파일이 저장된 디렉터리에서 검색.단순히 해당 파일을 지시자가 있는 위치에 삽입하는 것이므로, 반드시 특정 코드의 맨 위에 넣을 필요는 없다.소스 파일(.c)도 포함할 수 있다.   #define매크로명을 정의하는 전처리 지시자모든 매크로는 전처리 과정에서 단순히 치환될 부분으로 바뀌는 것 뿐이다.단순 매크로#define 매크로명 치환될_부분(관례적으로 대문자 사용)매크로 상수 : 상수 대신에 쓰이는 매크로명함수 매크로#de.. 2024. 9. 1.
[C 언어] 1. Introduction 1. Introduction C 언어   유닉스 OS에 사용하기 위해 켄 톰슨이 만든 B 언어를 데니스 리치가 발전시켜 만든 언어이다.초기 유닉스는 대부분 어셈블리어로 작성되어 컴퓨터의 하드웨어가 바뀌면 다시 개발해야 하는 문제가 있었다.어셈블리어로 매번 다시 개발하는 일을 없애고자, 전 단계에서 사용할 공통된 언어인 C를 개발했다.주로 하드웨어를 제어하는 SW로 많이 사용된다.  C 언어 컴파일 과정 소스 코드를 기계어로 바꾸는 과정으로 전처리, 컴파일, 어셈블, 링크 4단계로 이루어진다.전처리, 컴파일, 어셈블 3단계를 모두 포함해서 컴파일이라고도 한다.3단계를 포함한 컴파일과 링크를 포함해서 빌드라고 한다. 빌드는 소스 코드를 실행할 수 있는 소프트웨어 로 가공하는 것을 의미한다.전처리(Pre-pr.. 2024. 8. 31.
사용자 변수 vs 시스템 변수 사용자 변수와 시스템 변수의 차이? 사용자 변수컴퓨터에 있는 각 계정에서 사용하는 변수. 해당 사용자의 계정으로 컴퓨터에 로그인 시에만 적용되는 변수. ex) 사용자1에 python 설정사용자1 로그인 → cmd에서 python 명령어 사용 가능사용자2 로그인 → cmd에서 python 명령어 사용 불가사용자3 로그인 → cmd에서  python 명령어 사용 불가 시스템 변수 시스템 전반에 걸쳐 적용되는 변수, 즉 전역변수와 같은 개념이다. ex) 시스템 변수에 python 설정사용자1 로그인 → cmd에서 python 명령어 사용 가능사용자2 로그인 → cmd에서 python 명령어 사용 가능 사용자3 로그인 → cmd에서 python 명령어 사용 가능   사용자 변수와 시스템 변수의 우선순위대부분의 .. 2024. 4. 28.
환경변수 PATH란? 환경변수 PATH란?PATH는 운영체제가 명령행 또는 터미널 창에서 필요한 실행 파일을 찾는 데 사용하는 시스템 변수이다. PATH는 실행 파일이나 명령어를 찾는 경로를 설정하는 데 사용된다. 일반적으로 사용자가 입력한 명령어가 어디에서 실행 파일을 찾아야 하는지를 정의하며, 이를 통해 터미널 창에서 해당 명령을 입력하여 직접 실행할 수 있다.  Window에서 환경변수 PATH 설정 [시스템] - [정보] - [고급 시스템 설정] - [고급] - [환경 변수] - [시스템 변수] - [Path]에 설정하고 싶은 경로를 입력하면 된다. 여기에 경로를 설정하면, 터미널 어디서든 해당 프로그램을 실행할 수 있게된다. 일반적으로 응용프로그램을 설치하면 환경변수를 설정하는 것이 좋다.  예를 들어, 파이썬 설치.. 2024. 4. 28.
Verilog Simulator 종류 - Commercial Verilog Simulator 종류 - Commercial ① Mentor Graphics – ModelSim, QuestaSim RTL Code 시뮬레이션용. ModelSim은 기본 시뮬레이터. QuestaSim은 UVM, power aware simulations, AMS 등 고급 기능 사용 가능. ModelSim은 학부 과정에서 수업 시에 많이 접해볼 수 있는 시뮬레이터이다. ② Intel/Altera – Quartus Intel/Altera 전용 FPGA 디자인 플랫폼 Intel/Altera FPGA를 구매했을 때, 시뮬레이션과 합성을 위해 사용. ③ AMD/Xilinx – Vivado AMD/Xilinx 전용 FPA 디자인 플랫폼 AMD/Xilinx FPGA를 구매했을 때, 시뮬레이션과 합성을.. 2024. 3. 22.
Verilog Simulator 종류 - Open Source Verilog Simulator 종류 - Open Source ① Icarus Verilog(iverilog) – Stephen Williams 사용하기 쉬움Verilog 지원, SystemVerilog 지원하지 않음Verilog만 컴파일 가능compile : iverilog simulation : vvp waveform : waveform을 보려면 GTKwave를 사용. 일반적으로 많이 사용하는 무료 Verilog Simulator이다. Stephen Williams이란 사람이 개발하였다고 한다. Verilog만 지원 가능하고 다른 추가적인 기능들이 많이 부족하지만 입문자들이 간단하게 Simulation하기에 적합한 Simulator인 것 같다. 위키피디아에는 SystemVerilog도 어느 정도 지원.. 2024. 3. 21.
[Tkinter] 파이썬으로 GUI 만들기 - Entry, Text 파이썬으로 GUI 만들기 - Entry, Text Entry 한 줄 기입창, 엔터가 불가능하다. ex) 로그인 창의 아이디 비밀번호 입력 칸 # Entry: 한 줄만 사용 ,엔터 불가능. 예시로 로그인 창 아이디 비밀번호 입력칸 e = Entry(root, width=30) e.pack() e.insert(0, "한 줄만 입력해요") def btncmd(): print(e.get()) # 내용 삭제 e.delete(0,END) btn = Button(root, text="클릭", command=btncmd) btn.pack() root.mainloop() # 윈도우가 종료될 때까지 실행시킴 insert(index, “문자열”) : index 위치에 문자열 추가 get() : entry에 입력된 문자열 가.. 2024. 1. 31.
[Tkinter] 파이썬으로 GUI 만들기 - Label, Button 파이썬으로 GUI 만들기 - Label, Button Label 텍스트, 이미지 등을 나타내는 라벨 객체를 생성 from tkinter import * # Label은 글자나, 이미지를 보여주고, 어떤 동작을 하지는 않는다. root = Tk() # 가장 상위 레벨의 윈도우 창 생성 root.title("Stone Forest") # 제목 설정 root.geometry("600x480") # 크기 설정 : 가로 * 세로 # root.geometry("600x480+300+100") # 크기 설정 : 가로 * 세로 + x좌표 + y좌표 root.resizable(False, False) # 창 크기(x 너비, y 너비) 변경 On/Off label1 = Label(root, text="안녕하세요") lab.. 2024. 1. 30.
[Tkinter] 파이썬으로 GUI 만들기 - Window 창 띄우기 파이썬으로 GUI 만들기 - Window 창 띄우기   Tkinter란?Python으로 GUI를 만들 수 있도록 여러 컨테이너를 제공하는 라이브러리이다. Tkinter를 사용하여 다양한 응용프로그램을 만들 수 있다.  Tkinter 설치pip install tkinter  Window 창 띄우기from tkinter import *root = Tk() # 가장 상위 레벨의 윈도우 창 생성root.title("Stone Forest") # 제목 설정root.geometry("600x480") # 크기 설정 : 가로 * 세로# root.geometry("600x480+300+100") # 크기 설정 : 가로 * 세로 + x좌표 + y좌표root.resizable(False.. 2024. 1. 30.
[Openpyxl] 7. 차트(Chart) 삽입 7. 차트(Chart) 삽입 필요한 라이브러리 from openpyxl import load_workbook from openpyxl.chart import BarChart, LineChart, Reference 테스트 파일 wb = load_workbook("test.xlsx") ws = wb.active Bar 차트 # B2:C11 까지의 데이터를 차트로 생성 bar_value = Reference(ws, min_row=2, max_row=11, min_col=2, max_col=3) bar_chart = BarChart() # 차트 종류 설정 ( Bar, Line, Pie, ... ) bar_chart.add_data(bar_value) ws.add_chart(bar_chart, "E1") # 차트.. 2024. 1. 28.
[Openpyxl] 6. 이미지 삽입 6. 이미지 삽입 필요한 라이브러리 from openpyxl import Workbook from openpyxl.drawing.image import Image openpyxl.drawing.image에서 Image를 Import한다. 이미지 삽입(add_image()) img = Image("python.png") # C3 위치에 이미지 삽입 ws.add_image(img, "C3") add_image(삽입할 이미지 객체, 삽입할 셀의 위치) Import Error 해결 ImportError: You must install Pillow to fetch image objects. pip install Pillow로 Pillow 라이브러리를 설치한다. 2024. 1. 28.
728x90
반응형