Track this back : http://jaram.tistory.com/trackback/26
Code Project에서 지원하는 Licenses 종류들....
The Licenses
The following is a rough guide to the current licenses supported on The Code Project. Please read them carefully by following the links to the license pages themselves because some categorisations (such as whether code can be used commercially, or whether extensions must be release to the public) depends on the situtation. This is merely a guide: it's up to you to read the actual license carefully before using code licensed by each license or assigned a license to code you submit.
The main points subject to the terms of the License are:
Source Code and Executable Files can be used in commercial applications;
Source Code and Executable Files can be redistributed; and
Source Code can be modified to create derivative works.
No claim of suitability, guarantee, or any warranty whatsoever is provided. The software is provided "as-is".
Provides copyright protection: True Can be used in commercial applications: True Bug fixes / extensions must be released to the public domain: False Provides an explicit patent license: True Can be used in closed source applications: True Is a viral licence: False
Based on the Mozilla Public License (MPL) that makes it more applicable for use outside the Mozilla Foundation.
Provides copyright protection: True Can be used in commercial applications: True Bug fixes / extensions must be released to the public domain: True Provides an explicit patent license: True Can be used in closed source applications: True Is a viral licence: False
Used by Microsoft. Compiled derived code can be distributed, for both commercial and non-commercial use. The source code, however, cannot be redistributed
Provides copyright protection: True Can be used in commercial applications: True Bug fixes / extensions must be released to the public domain: False Provides an explicit patent license: True Can be used in closed source applications: True Is a viral licence: False
Used by Mozilla and Firefox, among others. The patent clauses are not acceptable to some.
Provides copyright protection: True Can be used in commercial applications: True Bug fixes / extensions must be released to the public domain: True Provides an explicit patent license: True Can be used in closed source applications: True Is a viral licence: False
Derived from the IBM Public License and influenced by the Mozilla Public License, and used by some Microsoft projects on SourceForge.
Provides copyright protection: True Can be used in commercial applications: True Bug fixes / extensions must be released to the public domain: True Provides an explicit patent license: True Can be used in closed source applications: True Is a viral licence: False
A newer version of the Common Public License that is in some cases more acceptable to business.
Provides copyright protection: True Can be used in commercial applications: True Bug fixes / extensions must be released to the public domain: True Provides an explicit patent license: True Can be used in closed source applications: True Is a viral licence: False
A very old license with essentially no restrictions on the use of the code. It also provides very little in the way of protection for authors or users. It is the same as the BSD license without the 'no endorsement' clause.
Provides copyright protection: True Can be used in commercial applications: True Bug fixes / extensions must be released to the public domain: False Provides an explicit patent license: False Can be used in closed source applications: True Is a viral licence: False
A very old license with essentially no restrictions on the use of the code. It also provides very little in the way of protection for authors or users. It is the same as the MIT license except that it includes a clause preventing the use of the author's name for endorsement.
Provides copyright protection: True Can be used in commercial applications: True Bug fixes / extensions must be released to the public domain: False Provides an explicit patent license: False Can be used in closed source applications: True Is a viral licence: False
Slightly more restrictive (but still very open) version of the BSD or MIT license that adds patent clauses. Read carefully.
Provides copyright protection: True Can be used in commercial applications: True Bug fixes / extensions must be released to the public domain: False Provides an explicit patent license: True Can be used in closed source applications: True Is a viral licence: False
A license that requires a link be visible on works that use this license. "Share alike" is what it sounds, you can share this work as long as that work has a license similar to this one.
Provides copyright protection: True Can be used in commercial applications: True Bug fixes / extensions must be released to the public domain: False Provides an explicit patent license: False Can be used in closed source applications: False Is a viral licence: True
A license with an emphasis on freedom of use and re-use, with a few restrictions.
Provides copyright protection: True Can be used in commercial applications: True Bug fixes / extensions must be released to the public domain: False Provides an explicit patent license: False Can be used in closed source applications: True Is a viral licence: False
A derivative of the GPL that was intended to allow non-GPL code to work with, and call GPL code. The author of this license asks that you only use this license if your are licensing functionality already commonly available.
Provides copyright protection: True Can be used in commercial applications: True Bug fixes / extensions must be released to the public domain: True Provides an explicit patent license: False Can be used in closed source applications: True Is a viral licence: True
A common but misunderstood license. This allows developers to freely use the software as long as they use the same (or an even less restrictive) license for parts of the program that they wrote themselves. Viral in nature. Read carefully and make sure you understand the implications of using this license. Unacceptable to many.
Provides copyright protection: True Can be used in commercial applications: False Bug fixes / extensions must be released to the public domain: True Provides an explicit patent license: False Can be used in closed source applications: False Is a viral licence: True
Track this back : http://jaram.tistory.com/trackback/24
Tiny singleton helper class
Introduction
Sometimes we have to code with 'singleton'. If you don't know what Singleton is, you can read about it in many Design Pattern books. Singleton principle is really simple.
As you know, if you use reference pointer for singleton object, then you must delete it when program terminates. But it will be good because it does 'late instance'.
I want to terminate singleton object automatically, and instance lately. So, I coded this.
Good things:
Late instance.
Safe terminate automatically.
Separated code for Object and Singleton.
Here is my tiny singleton helper class - CSingletonT<>, and I hope it helps you.
// // Using singletonT class // #include "SingletonT.h"
// test class class CObj { protected: CObj(){ x = 0 ; TRACE("Created CObj\r\n"); } public: virtual ~CObj(){ x = 0 ; TRACE("Deleted CObj\r\n");}
int x; };
// Testing void CTestSingleTDlg::OnButton1() { // TODO: Add your control notification handler code here // if first call, then singleton object will instance ( instance lately ) CObj* o = CSingletonT<CObj>::GetObject();
Track this back : http://jaram.tistory.com/trackback/23
[Dshow] DirectShow Filter Build시 발생하는 Link Error 해결방법
Some of the DirectShow samples break if you install Visual Studio 2005 Beta 2. Most of the errors that I found fall into three categories:
C4430: Missing type specifier. To conform with C++, undeclared types do not default to int. All types must be declared. Fix: Declare the type, or suppress the warning with the "/wd4430" flag.
C4996: ' xxxx' was declared deprecated. You may be including an older version of strsafe.h from the DirectX SDK or the Platform SDK. You should include the version installed with Visual Studio. (But it's probably harmless to ignore this warning.)
C2065: 'xxx': undeclared identifier. To conform with C++, the scope of a variable declared inside a "for" loop is restricted to the loop. Fixes: (a) Move the declaration outside the for loop. (b) Redeclare the variable in multiple scopes, if you don't need it to persist outside the loop. (c) Set the /Zc:forScope flag. (You can find this under Project, Properties, Configuration Properties, C/C++, Language, Force Conformance In For Loop Scope. Set to "No".)
Here are the specific fixes that I made. Warning: I have not thoroughly tested these, and I only tried them under the "Windows XP 32-bit Debug" environment in Platform SDK. You should use your own judgment before making any of these fixes.
Filters\Gargle\gargle.cpp (212) static int m_nInstanceCount; // total instances
Filters\RGBFilters\RateSource\ratesource.cpp (382) for( int y = 0 ; y < DEFAULT_HEIGHT ; y++ )
Filters\RGBFilters\RateSource\ratesource.cpp (387) for( int y = 0 ; y < DEFAULT_WIDTH ; y++ )
VMR\VMRXclBasic and VMR\Ticker: LNK1181: cannot open input file 'dxguid.lib'. This was an error in the makefile. Change to read: DXLIB="$(DXSDK_DIR)\Lib\x86" (currently says "x32")
VMR\VMRXcl and VMR\VMRMulti: C1083: Cannot open include file: 'd3dxmath.h': No such file or directory. This is an old DX header that is no longer included in DX or in Visual Studio. Unfortunately the only fix is to download an older version of the DirectX SDK.
VMR9\MultiVMR9\GamePlayer\character.cpp (383) DWORD i = 0; for (i = 0; i < pMeshContainer->NumInfl; ++i)
VMR9\VMRAllocator: error LNK2019: unresolved external symbol "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)" (etc). Add this to the makefile: comsuppw.lib \