전체 글 290

C++ , explicit

간단하게 말하면 ​자동 형변환을 막는겁니다 의도하지 않은 형변환이 일어나서 에러가 발생하는 사태를 막는 용도 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow(); private: Ui::MainWindow *ui; }; #endif // MAINWINDOW_H "explicit" 는 "implicit"의 반대말로 명시적이라는 뜻을 가짐. ​암시적 변환은 예상치 못한 상황을 만들 수 있기 때문에 ..

C++ 2020.12.17

<라즈베리파이 4> 고정 IP 설정하기

>ifconfig 필자는 "wlan0" 를 고정으로 하려고합니다. >vim /etc/network/interfaces 처음열었다면 auto wlan0 부터 공란일 것인데, 위와 같이 원하는 IP (192.168.30.58) 등과 함께 타이핑합니다. 완료되면 wq >sudo /etc/init.d/networking restart 위와 같은 메시지가 보인다면 해당 IP 가 반영되었다. 이제 Route 없이 Hub 만으로도 접속가능하겠다.

<QT 기초> 딜레이(delay) 추가하기

참고 : doc.qt.io/qt-5/qtimer.html#QTimer 1. Class 추가 메뉴에서 Class 를 추가한다. 4. Timer.h Timer Class 구조체 생성 #ifndef TIMER_H #define TIMER_H #include class Timer : public QObject { Q_OBJECT public: Timer(); QTimer *mytimer; public slots: void MyTimerSlot(); }; #endif // TIMER_H 3. Timer.cpp 코딩 #include "timer.h" #include Timer::Timer() { //create a timer mytimer = new QTimer(this); //setup signal and slo..

QT/Basic Tutorial 2020.12.14

<C++ Program> 클래스 개념

1. 클래스 (Class) 핵심 개념은 구조체의 확장판 C에서 구조체는 타입이 다른 변수의 집합이라고 보았다면, C++ 에서 클래스는 타입이 다른 변수의 집합뿐만 아니라 함수까지 포함 (사실 요즘 C 언어에서도 클래스처럼 사용할 수 있음) // People 클래스 선엄 class People{ private: int age; char* name; double height; public: //함수도 포함 가능 void set_People(int _age, char* _name, double _height); void show_People(); }; 2. 생성자 (Constructor) 클래스를 선언하게 되면 그 클래스는 메모리에 객체로써 자리잡게 된다. 그러나 객체는 해당 메모리 자리에만 잡고 있을 뿐이지..

카테고리 없음 2020.12.10

<QT> WiringPi 라이브러리 추가하기 (라즈베리파이)

1. QT 라이브러리 추가 라즈베리파이에서 GPIO 등 핸들링하기 위해서 wiringPi 를 사용해보자 wiringPi 를 사용하기 위해서는 컴파일 시에 -lwiringPi 옵션을 붙여야 한다. 2. .pro 에 Add Library .pro 파일을 Open 한 상태에서 우클릭하여 Add Library를 Click External library를 Click 한다. 아래와 같이 Library (.so) 를 선택한 후에 wiringPi library 를 추가한다. 라이브러리를 추가한 후 Ctrl-B 로 디버깅 후 Ctrl-R 로 실행하면 정상적으로 동작함을 알 수 있다.

QT 2020.12.10

<라즈베리파이4> WiringPi 활용

1. WiringPi ?? 2012년에 Gordon Henderson이라는 프로그래머가 개발한 라즈베리파이용 C Language Library. 2. WiringPi 설치 최신버전은 라즈비안에 기본으로 포함되어있다. 아래와 같이 버전 확인해보자 >gpio -v 만약 Type 에 Unkown 이 보인다면 업데이트를 해야한다. >wget https://project-downloads.drogon.net/wiringpi-latest.deb >dpkg -i wiringpi-latest.deb 장치가 제대로 보인다면 아래 명령어로 GPIO 상태를 읽어보자 >gpio readall 3. LIBRARY 사용 실제 소스를 작성해서 라이브러리를 사용해보자. >vim wiringpi_test.c >gcc -o wiring..