Programming/C++ STL2013. 2. 9. 19:19
학교에서 C++ 안하고
win32api랑 Java만 하고 졸업하고 MFC를 다뤄는 봤지만 C++을 생으로 해본적이 없어
저번달에는 Lisp 조금 해보고 이제 이번달에는 C++!ㅋㅋ

참조한 책은 Essential C++ (스탠리 B.립먼)

1. 책을 보다보니.. int a(0); 으로도 초기화가 된다고?!
#include <stdio.h>

void main()
{
        int a(0);
}

컴파일을 해보면 다른 소스라서 일단 제대로 되지 않으니 일단은 50%는 실패?
특이하게도 g++은 무조건 int main()으로 강제한다.

gcc test.c
test.c: In function ‘main’:
test.c:5:8: error: expected declaration specifiers or ‘...’ before numeric constant

g++ test.c
test.c:3:11: error: ‘::main’ must return ‘int’   
 
아래가 제대로 만든 c++ 소스. int a(0) 로도 초기화가 되는 신비함!!
(일단 a가 int형 객체일 경우 컨스트럭터로 인자를 하나 받아 초기화 해준다고 생각하면 간단하려나?)
#include <iostream>

int main()
{
        int a(0);

        return 0;
} 
 

2. cout 을 써봅시다 + long double 형?
c++에서는 .h를 제외하고 하는데 stdio 를 대체 하는 녀석은 바로 iostream!
#include <iostream>
//using namespace std;

int main()
{
        int a = 0;
        long double ld_t;

        cout << sizeof(ld_t) << '\n';

        return 0;
}

근데 cout이 안돼!!! 난 햄보칼수가 없엉 ㅠ.ㅠ

$ g++ test.c
test.c: In function ‘int main()’:
test.c:8:2: error: ‘cout’ was not declared in this scope
test.c:8:2: note: suggested alternative:
/usr/include/c++/4.6/iostream:62:18: note:   ‘std::cout’ 

cout의 경우에는 std::cout 으로 std에 포함된 cout 이기 때문에
굳이 저 소스로 하려면 std::cout << sizeof(ld_t) << '\n'; 으로 해야 한다.
그게 아니라면 간편하게 using namespace 를 이용해서 std를 기본으로 쓰도록 설정해준다. 

그리고 gcc 에서도 long double을 지원하기는 하는데.. 12byte 짜리(96bit ?!) 녀석이다. 

'Programming > C++ STL' 카테고리의 다른 글

Essential C++  (0) 2013.02.14
참조에 의한 전달(pass by reference)  (0) 2013.02.09
unsigned char -> int 변환 주의사항  (0) 2013.02.04
템플릿 메타프로그래밍  (0) 2013.01.06
c++ template  (0) 2012.05.12
Posted by 구차니
웹 호스팅에 채팅 서버는 싫어하는 지라...
아무튼 찾아보니 가가라이브 대신 미니온이라는걸 쓰는것도 괜찮아 보인다.
(알려주신 오유분에게 감사를)

[링크 : http://minion.kr/]
[링크 : http://www.xpressengine.com/?mid=download&package_srl=19515289] 미니온4 채팅위젯
Posted by 구차니
이야기를 하다 보니 별별 이상한 소리가 들려오네 -_- 제길

아무튼 대응은 해놔야 하니 무료로 ssl 인증서를 발행해주는 곳을 발견
근데 최상위 도메인만 되다보니 내껀 안되는 문제 발생 ㅠ.ㅠ
일단 도메인도 구입해야 하나.. 하아..

[링크 : http://www.autoboy.pe.kr/258]
Posted by 구차니
프로그램 사용/wiki2013. 2. 7. 23:39
아직 실험단계(experimental) 이라서 기능이 부족한편.

일단, 장점으로는 윈도우나 ms word 스타일로 창이 뜨기 때문에
FCKeditor 보다는 거부감이 적다.

하지만 FCKeditor 처럼 내부링크를 검색해준다거나
내부링크를 편하게 링크 걸수 없다는 점은 꽤나 치명적

게다가 의도된것인지 모르겠지만, Hide Editor를 눌러서도
Wiki 문법으로 나오지 않고 HTML 태그만으로 입력된다.

그리고 Wiki 문법을 입력시 일반 문장으로 인식..
이래저래 아직까지는 사용하기에는 좀 많이 부족한 에디터이다.



[링크 : http://www.mediawiki.org/wiki/Extension:TinyMCE_MW]

'프로그램 사용 > wiki' 카테고리의 다른 글

mediawiki 무겁구나.. (1.23.9)  (0) 2015.04.14
mediawiki db 구조  (0) 2014.03.24
mediawiki mobile skin  (0) 2013.02.07
mediawiki 1.20.2 php 요구버전이 높...다  (0) 2013.02.07
TinyMCE mediawiki extionsion  (1) 2012.12.27
Posted by 구차니
프로그램 사용/wiki2013. 2. 7. 19:38
호스팅 업체에서 지원하지 않는 프로그램이 있어서 설치 불가 -_-

---
따라하다 보니 ruby를 설치하고 이것저것 하더니...
응? 어째 이거.. ruby를 가지고 웹서버를 별도로 돌리는 기분이 드는데?
그래서 그냥 포~기
---

[링크 : http://stackoverflow.com/questions/2028868/mediawiki-styling-for-iphone]
  [링크 : http://www.mediawiki.org/wiki/Extension:MobileSkin] 설명
  [링크 : https://github.com/hcatlin/wikimedia-mobile] 다운로드
Posted by 구차니
프로그램 사용/wiki2013. 2. 7. 16:57


호스팅 업체에서도 낮은 버전은 아닌거 같은데 5.3.2를 요구하는 바람에(!!)
어쩔수 없이 mediawiki를 낮은 버전으로 깔아야 할 듯 -_- 
Posted by 구차니
파일방2013. 2. 6. 21:04
v2는 심플하지만 설정을 아직 제대로 못 봐서
"닉네임"을 변경하는 법을 찾지 못해 일단 v1으로 사용중

요건 v1


요건 v2


---
설정파일 위치는
./src/pfcglobalconfig.class.php

[링크 : http://www.phpfreechat.net/]
[링크 : http://www.phpfreechat.net/commands] << 명령어 목록

'파일방' 카테고리의 다른 글

설계 관련 오픈소스  (0) 2013.07.09
yaffs2 파일 시스템 열어보기(윈도우)  (0) 2013.07.04
ajaxchat  (0) 2013.02.06
cmos password recovery  (2) 2012.11.15
wing commander privateer  (0) 2012.09.26
Posted by 구차니
파일방2013. 2. 6. 20:30
ajax를 통해서 채팅방을 구현하는 녀석인데
php 파일을 통해 계정을 생성해야 하는 관계로 그닥.. 효용이 있다고 보긴 어려울듯



[링크 : http://frug.github.com/AJAX-Chat/ ]
[링크 : http://chat.ecobytes.net/] << 데모

'파일방' 카테고리의 다른 글

yaffs2 파일 시스템 열어보기(윈도우)  (0) 2013.07.04
phpfreechat  (0) 2013.02.06
cmos password recovery  (2) 2012.11.15
wing commander privateer  (0) 2012.09.26
ghost explorer(고스트 익스플로러)  (0) 2012.04.23
Posted by 구차니
embeded/Cortex-M3 Ti2013. 2. 5. 10:44
unsigned 를 int로 변경할때 코드상의 문제였나 해서 테스트를 해봤는데 -_-
헐.. 머야 이거.. 컴파일러 특성인가?

int t1,t2,t3,t4;
unsigned char t9=-1;

t1 = t9;
t2 = (char)t9;
t3 = (int)t9;
t4 = (int)(char)t9;
		
printf("%d %d %d %d",t1,t2,t3,t4);
//255,255,255,255

아무튼, cortex-m3 + keil 에서는 일단
음수일 경우(MSB가 0x80 이면)
if(t9 & 0x80) t1 = t9 | 0xFFFFFF00;
else t1 = t9;

이런식으로 구현해서 써야 할 듯 -_-

2013/02/04 - [Programming/C++ / STL] - unsigned char -> int 변환 주의사항

---
추가로 테스트 해보니 unsigned char가 아닌 char 일 경우에도
up convert시 음수에 대해서 제대로 키워주지 못하는 문제가 있다.
KEIL 컴파일러 문제이려나? 

'embeded > Cortex-M3 Ti' 카테고리의 다른 글

LM3S1968과 H-JTAG(wiggler)  (0) 2013.06.28
cortex-m3 JTAG / X-LinkEx 1.1  (0) 2013.06.11
LM3S - FlashProgram()  (0) 2012.11.06
TI Stellaris LM3S 시리즈 ICDI가 사라졌어요!!!  (0) 2012.09.22
stellarisware - UARTStdioInit()  (4) 2012.07.23
Posted by 구차니
Programming/C++ STL2013. 2. 4. 23:31
원인은 대충 알고 있지만 해결책을 찾다 안되서 고민고민 -_-
아무튼 실험을 해보면, unsigned char 형에서 int로 암시적으로 형변환을 하면
결과쪽으로 형변환을 한것과 같아서 unsigned 형일 경우 의도하지 않은 형태로 값이 변형이 될 수 있다.

결론만 말하자면, unsigned 를 더 큰 크기의 signed로 저장할때 부호를 제대로 살리기 위해서는
작은 크기의 signed 형으로 변환하고(여기서는 unsigned char를 char 로) 넣어 주어야 한다 라는 점.

#include "stdio.h"

void main()
{
	unsigned char t1 = -1;
	char t2 = -1;
	int t3;

	t3 = t1;
	printf("%d\n",t3);

	t3 = (int)t1;
	printf("%d\n",t3);

	t3 = (char)t1;
	printf("%d\n",t3);

	t3 = t2;
	printf("%d\n",t3);

}

$ ./a.out
255
255
-1
-1 



---
원리적으로야
-1은 0x0FF에서 0x0000 00FF 으로 int로 확장시 앞에 채워지는 식으로 늘어 나는 바람에
의도한 값인 0xFFFF FFFF 가 되지 않아 부호가 상실하게 된다.

'Programming > C++ STL' 카테고리의 다른 글

참조에 의한 전달(pass by reference)  (0) 2013.02.09
C++ 첫걸음 *-_-*  (0) 2013.02.09
템플릿 메타프로그래밍  (0) 2013.01.06
c++ template  (0) 2012.05.12
리눅스에서 c++ 컴파일시 strcpy / strcat 오류  (0) 2011.10.13
Posted by 구차니