본문 바로가기

전체 글352

[C++] SmartPointer 클래스 구현 C++에서 SmartPointer 탬플릿 클래스를 구현했습니다. 기본적으로 C++는 리턴이나 대입연산을 하면 복사를 해 버리는데SmartPointer을 이용하면 기존의 객체가 삭제되지 않고 유지되어 성능과 편리성이 향상됩니다.C++자체에 이런 기능이 있긴 하지만 그냥 구현해봤습니다. C++ 11 버전 이하에서도 사용 가능합니다. 대입연산(리턴 포함)과 Thread에 전달또한 가능합니다.(예제소스 참조) Windows/Linux 지원합니다. Windows용 예제소스 : #include #include #include #include #include "SmartPointer.h" class TestClass { public: int x; TestClass(){ std::cout 2016. 10. 31.
[C++] 7z 라이브러리 헬퍼 (JsSevenZipHelper) 7z 라이브러리 사용하는게 너무 불편하기도 하구... 그래서 간단히 사용할 수 있게 압축과 풀기를 지원하는 JsSevenZipHelper을 만들었습니다. 예제 소스 포함되어 있습니다. #include #include #include #include "JsSevenZipHelper/JsSevenZipHelper.h" int test_compress(int argc, char *argv[]) { JsSevenZipHelper::Compress compress; std::list fileList; JsSevenZipHelper::FileOutStream *pOutStreamSpec = new JsSevenZipHelper::FileOutStream(); CMyComPtr pOutStream = pOutStre.. 2016. 10. 23.
7z.dll Windows 에서 컴파일하기 (모든 알고리즘 추가) 7z Library을 처음 써봐서...7z 라이브러리를 컴파일하여 만든 7z.dll이 왜 LZMA 알고리즘을 찾을 수 없다고 하는지 몰랐다...그냥 아무것도 안만지고 컴파일하면 잘 되겠지... 했는데...ㅠㅠ조금의 삽질로 이유를 알아냈다.7z프로젝트에 Compress에 알고리즘이 추가되어있지 않았던 것이다. * 2016-10-05 추가암호화를 사용하려면 Crypto 도 추가되어야 한다. (프로젝트 원본)보이는것과 같이 CopyCoder밖에 없다.. 그래서.. 싹 다 추가해줬다. 이렇게만 해서 되면 좋으려만 엄청나게 오류가 뜬다.그래서 필요한 파일을 싹 다 추가해주었다(C, CPP/7zip/Common) 잘~ 된다. 수정한 프로젝트 파일을 추가한 7z1602 (2016.09.28 현재 최신)을 첨부한다.7.. 2016. 9. 28.
[Android] JAOR (JsAndroidOnlineResource) 자동 온라인 리소스 라이브러리 JAOR (JsAndroidOnlineResource)은 안드로이드에서 매번 변할 수 있는 리소스를 인터넷을 통해 자동으로 다운로드해주는 라이브러리 입니다. 서버URL에는 data_langcode.xml 파일이 있어야 합니다. 예) 한글 : data_ko.xml / 영어 : data_en.xml / Australian English : data_en-AU.xml 예제소스 : public class MainActivity extends AppCompatActivity { JsAndroidOnlineResource m_jaor = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceSta.. 2016. 9. 22.
[C] jstime 함수 (timestamp, tm간 변환 구현) Github : https://github.com/jic5760/jstime 예전에 만들었던거 올립니다. AVR등 time관련 함수가 없는 컴파일러에서도 gettm 또는 gmtime같은 함수를 구현해 주는 것입니다. /* Leap year 체크 (year : 0년부터 시작한 년도) */ extern char jstime_isleapyear(int year); /* Leap year 체크 (year : 1900년부터 시작한 년도) */ extern char jstime_isleapyear_since1900(int year); /* 월별 날짜 수 (isleapyear : 0-no leap year / 1-leap year) */ extern char jstime_mondays(char isleapyear, .. 2016. 7. 5.
[PHP] JsCrypto 암호화 알고리즘 지원 클래스 (HIGHT, LEA) Github : https://github.com/jic5760/JsCrypto_for_PHP 간단한 사용 예제입니다. * JsCrypto.php파일과 JsCrypto_으로 시작하는 php파일들은 같은 위치에 있어야 합니다. 지원하는 Ciphers: JSCRYPTO_HIGHT_64 : HIGHT Algorithm, Block size is 8 bytes Key size : 16 Bytes JSCRYPTO_LEA_128 : LEA Algorithm, Block size is 16 bytes Key size : 16 / 24 / 32 Bytes 지원하는 Modes: JSCRYPTO_MODE_ECB : ECB (Electronic Codebook) JSCRYPTO_MODE_CBC : CBC (Cipher Bl.. 2016. 7. 4.
반응형