일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Qt4
- 자료구조
- Qt 소켓프로그래밍
- 재귀함수
- 양평역
- 알람프로그램
- 스타2
- vuejs
- 바이크
- 고속도로
- 자바
- 윈도우7
- 잡담
- android SAF
- QTcpServer
- 엑티브엑스
- 디자이어HD
- Java
- c언어
- QT
- qt 설치
- 오토바이
- 이륜차
- 마영전
- 정성하
- 안드로이드
- Qt OpenGL
- 스타크래프트2
- HTML
- FFI
- Today
- Total
목록프로그래밍 (173)
프로그래밍과 잡담
QtJambi 가 뭐냐하면 Qt를 자바에서 사용하게 만든것이다. 뭐 어찌됬든 사용법은 간단하다. java_버전_\jre\lib 폴더에다가 Qtjambi에서 받은 파일 중에 jar 파일 복사해 넣는다 .. 그럼 끝~ 이클립스에서 사용할때는 라이브러리가 추가 안돼있을텐데. . 그냥 외부 라이브러리 추가라는거 있는데 그걸 이요해서 하면된다.. 추가하는 방법이 잇으면 추가를 하던가.. public Class Main{ public static void main(String args[]) { QApplication app = new QApplication(args); QLabel label = new QLabel("하이"); label.show(); app.exec(); } } 실험 해보고 싶은 사람은 위에 코드..
단일 연결리스트와 다른건 struct Node{ int key; struct Node* left; struct Node* right; } 위와 같이 두개로 되어있다. 단일 연결리스트의 단점은 검색을 할때 뒤로 못가는데 이건 그게 가능해진다. 단일의 경우 뒤로 갈려면 환영구조로 해서 한바퀴 돌아서 오는 수 밖에는 없다. 그래서 주로 이중연결리스트를 많이 사용한다. 삽입과 삭제는 단일과 같기 때문에 안쓴다. left에 전 노드의 주소를 넣어주면 된기때문에 그 외에는 다른게 없다. 삭제 할때는 좀 더 편하다. 왜냐하면 찾는 노드가 전에 노드의 주소와 다음 노드의 주소를 가지고 있기때문에 ..바로 이어 줄 수 있다. 이중 ... 단일 노드 -> 노드 -> 노드 -> ...
단순 연결리스트의 기본 구조는 typedef struct _node{ int key; struct _node *next; }Node; 위와 같은 형식을 가진다. 단순연결이기때문에 검색을 할려면 앞에서부터 순차적으로 들어간다. 뒤로 가는건 안됀다 오로지 앞으로만 갈 수 있다. 뒤로갈려면 이중연결리스트를 써야한다. 연결리스트의 단점은 배열보다 용량을 더 잡아먹고, 주소를 잘못 지정하면 전에 있던거나 앞에 있던게 메모리 상에서 떠돌아다니게 된다. 뭔말인고 하니 메모리 누수가 생긴다는거다. 물론 C일 경우에만 Java나 C# 같은 GC(garbage collector)가 있는 랭귀지는 관계 없다. Head -> A - > B - > C - > D -> NULL C를 찾기 위해서는 Head 에서부터 C까지 들어가..
IDE 상에서는 실행해도 잘됨. 근데 릴리즈 폴더에서 dll 파일 넣고 실행하면 프로시저 어쩌구 _Z5qFreePv DLL QtCore4.dll 이런 에러 메시지를 볼 수 있다. 그때 해결 방법은!!! 매우 간단하더군. QtCreator를 다시 깐다.. Qt 홈페이지에 가서 QtCreator를 다시 깔면 잘 된다.. QtCreator 와 뭔가 충돌이 나는듯 하다. /////////////////// Qt Creator에 있는 라이브러리와 충돌이 있는듯 하니 Qt Creator를 다시 깔면 해결됬다.. 안돼면 path를 설정을 다시 해보던가.. 여러 방법을 해봐야한다..;;
이노무거 설치하는거 때문에 몇시간을 고생했는지 모르겠군.. 어쨌든.. 트롤테크 홈페이지에 가서 DownLoad라는 텝에 들어간다. 그리고 다운로드를 아무데나 원하는데다가 넣어 놓는다. 그리고 터미널을 연다. root로 로그인하는걸 추천한다. 안했을 경우는 sudo를 쓴다. root로 로그인 하는법은 터미널 실행 sudo passwd root 암호입력 암호입력 시스템 -> 로그인 창 -> 보안탭 로컬 시스템 관리자 로그인 허용 체크 위에 처럼하면 root 계정에 들어갈 수 있다. 1. sudo chmod 777 다운로드한 파일이름.bin 2. ./파일이름.bin 3. 그러면 윈도우에서 설치하는것 처럼 창이 뜬다. 그러면 next를 눌러줘서 설치. 다 설치를 하고 나면 바탕화면에 단축아이콘이 생긴다. 실행 ..
Qt로 만든 클라이언트로 자바 서버에 접속했다.. 접속을 누르면 위에 같이 서버에서 메시지를 보낸다. Qt는 디자이너가 있어서 디자인을 쉽게 할 수 있다. 자바는 있는지 없는지 모르겟으나.. 어쨌든 이와 같이 다른 플렛폼에서도 소켓통신은 잘 된다. 자바서버에서 전송하는 법 OutputStream out = serverSocket.getOutputstream(); //
자바 프로그램 레이아웃이 구려도 어쩔수 없음 자바는 거의 안쓰다가 심심해서 만든 거라서 ..;; 어쨌든 잘 된다. 다음에서는 자바로 만든 서버에 Qt 클라이언트가 접속하는걸 해보겠다. 접속에 대한 소스 try { socket = new Socket("127.0.0.1",5000); } catch (IOException e1) { e1.printStackTrace(); } if ( socket.isConnected()) { try { byte[] buffer = new byte[100]; inputStream = socket.getInputStream(); inputStream.read(buffer); String mes = new String(buffer); text.setText(mes); } catc..
QTcpSocket 중에서 readyRead()라는 시그널이 있을것이다. 이것의 경우는 클라이언트나 서버에서 데이터를 write를 했을시에 일어나는 시그널인데.. 이것을 이용해서 여러가지를 이용할 수 있다. connect(tcp,SIGNAL(readyRead()),this,SLOT(readProcess()); 이런식으로 말이다. connectToHost()라는 메소드가 있다. 위 메소드는 서버에 접속할 시에 사용한다.. 메소드 이름을 보면 알 수 있는 메소드이다. void connectToHost ( const QString & hostName, quint16 port, OpenMode openMode = ReadWrite ); 사용법은 간단하다. connectToHost("호스트 네임이나 IP를 적으면..
#include #include #include class ReplyServer : public QTcpServer { Q_OBJECT public: ReplyServer(QObject *parent = 0); ~ReplyServer(); public slots: void makeConnection(); void send(); void disconnect(); private: QTcpSocket* tcp; }; ReplyServer::ReplyServer(QObject *parent) : QTcpServer(parent) { connect(this,SIGNAL(newConnection()), SLOT(makeConnection())); quint16 port = 5000; listen(QHostAddre..