전체 글 (19) 썸네일형 리스트형 SQLite Tutorial (13): C Language Programming Example Code (1) https://developpaper.com/sqlite-tutorial-13-c-language-programming-example-code-1/ SQLite Tutorial (13): C Language Programming Example Code (1) - Develop Paper 1. Get Schema information for tables: 1. Create tables dynamically. 2. According to the API provided by sqlite3, get the information of table fields, such as the number of fields and the type of each field. 3. Delete the table. See the f.. Overflow in datagram type sockets IPC로 Unix Domain Socket를 사용하는 경우, 전송되는 packet은 기본적으로 10개의 데이타가 Queue 된다. 이 값을 변경하고자 하는 경우 아래를 참조하여 /etc/sysctl.conf에 적용 하자. 개인적으로는 TCP나 UCP 또는 UART등의 데이타를 특정 상황에 적용하다 보면 링버퍼나 리스트를 사용하는데 차라이 메세지 큐나 UDS(unix domain socket)를 사용하여 시스템의 queue영역에 저장하는것이 코딩하는데 편리 한듯 하다. busybox 에서 사용 하려면 /etc/sysctl.conf 를 다음과 같이 구성한다. -------------------------------------------------- net.core.rmem_max=256000 net.core.. bcd2bin Linux 커널 트리에 있는 함수 Test #include #include unsigned bcd2bin(unsigned char val) { return (val & 0x0f) + (val >> 4) * 10; } unsigned char bin2bcd(unsigned val) { return ((val / 10) 0x0b/11 bcd2bin(0x19) ==>0x13/19 bcd2bin(0x1a) not BCD ==>0x14/20 bcd2bin(0x20) ==>0x14/20 ==================================== bin2bcd(19) ==>0x19/25 bin2bcd(20) ==>0x20/32 Makefile에서 프로그램의 Build 버전을 자동으로 생성하고 싶을때 1 개요 가) Application을 빌드 할 때 마다, 자동으로 빌드의 숫자가 증가하여, 이를 프로그램에서 사용 할 수 있도록 하는 내용이다. 나) 참조 문서 ① http://www.linuxjournal.com/content/add-auto-incrementing-build-number-your-build-process 2 Number File 가) Application Directory 안에 빌드 넘버를 기록하는 파일을 만들고, make 가 수행 된 후에 이를 자동으로 증가 하게 한다. 나) 참조 문서 1에서는 link 옵션을 사용 하였으며, 문서 2에서는 define를 사용 하였다. ① Define 문을 사용하는 경우는 __DATE__, __TIME__을 사용 할 때와 마찬가지로, 쓰여진 해당 파.. Segmentation Fault 발생시 디버깅 하기 1. 컴파일 Option을 “–g –O0” 를 추가 한다. 2. Target에서 실행하기 전에 “ulimit -c unlimited” 실행해서 core dump를 만들게 한다. 3. Segmentation Fault가 발생하면 core가 dump 된다. 4. gdb를 실행한다. gdb 프로그램실행파일 Core파일 즉, main 이라는 실행 파일에서 에러가 났다면 gdb ./main ./core arm-linux-gdb ./main ./core 5. Gdb 명령어 Backtrace/frame 등을 사용하여 디버깅 한다. * core dump가 안되는 경우 core dump가 /proc/sys/kernel/core_pattern의 값에 해당하는 폴더에 생성 되므로작업하는 폴더에 생성 되게 하려면 아래와 같이.. QT에서 Multi-Thread Socket 구현시 고려해야 할 사항 QT 로 Socket Multi-Thread 구현시에 Main Thread이외의 Socket Thread 구현하는 경우대부분의 example source는 event loop를 사용하는 thread를 사용한다. thread::run()에서 은 event loop를 받을수 있는 방법과 없는 방법이 있는데, 하기의 싸이트를 참조 한다. https://conf.qtcon.org/system/attachments/104/original/multithreading-with-qt.pdf%3F1473018682 이벤트 Loop를 받는 경우 thread::run( ){....connect(....) exec(); } 이벤트 Loop를 받지 않는 경우 thread::run( ){while(1){... QThread::s.. #2 계산기 만들기 (이벤트 감지자 등록방법) 앞의 내용과 같은 결과가 나오도록 MainActivity.java에서 이벤트 감지자를 직접 등록하여 구현 해보았습니다. package com.example.cadmus.a001_calc_method2; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity { EditText number1, number2; TextView .. #2 계산기 만들기 안경잡이 개발자의 안드로이드 스튜디오 강좌 2강 소스입니다. 계산기 만들기 (How To Make Calculator) 안드로이드를 공부하면서 입력한 소스 입니다. 동영상 링크 : https://www.youtube.com/watch?v=dk_AyDJL61g&index=2&list=PLRx0vPvlEmdB6sCgj_jubp8KPb1ni0VOC동영상에 나오는 프로그램의 소스입니다. MainActivity.java package com.example.cadmus.a001_tutorial; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.E.. 이전 1 2 3 다음