'프로그래밍/일반'에 해당되는 글 11건
- 2011.07.04 추적점
- 2011.06.22 Aqtime
- 2011.05.31 mklink 개발하다보면 필요하지
- 2011.05.11 parallel_studio_xe_2011
- 2011.05.03 응용 프로그램 실행오류, sidebyside,시작점을 찾을수 없습니다. 해결법
- 2010.03.12 [펌]C# 초보자부터 고수까지.
- 2010.03.12 [펌]C++ 초보자부터 고수까지 2
- 2009.10.23 warning C4251 2
- 2009.05.13 파일을 저장할때
- 2008.09.29 [펌] 멀티맵 사용 예제 1
이런것두 있었네?
나만 몰랐낭??
http://lab.gamecodi.com/board/zboard.php?id=GAMECODILAB_Lecture&page=4&page_num=40&select_arrange=last_comment&desc=&sn=off&ss=on&sc=on&keyword=&no=127&category
간단하게
특정 코드 부분을 지나가면 출력창에 메세지를 연동해서 이것저것 할수 있는거 같은데,
이런짓을 할려고 로그를 심어서 컴파일을 하거나... 귀찮은 짓을 했는데
이거 쓰면 되는구나라는 ... 2008부터 되나??
성능, 메모리.. 기타 등등
http://smartbear.com/
이 회사 제품이고
여기 들어가서 트라이얼 신청하면 이멜 준다. 그리고는 깔고
http://smartbear.com/support/screencasts/aqtime/
투터리얼부터 감상 시작하자
결론을 말하자면
프로젝트가 커져서 안 붙음.... 특정 함수별로 붙일수 있으나... 그럼 딱 그함수만 측정이 되서 의미가 없음... 원하는 작업은 그게 아니라서.. 뭐 그걸 원하면 이걸 하면 좋을건데 전체적인 성능을 봐서 분석하고 싶기 때문에...
그리고 일단 많이 느림.. 체감이 될 정도로
프로젝트 초반부 부터 붙여가면서 작업해가면 좋을것도 같음...
mklink 개발하다보면 필요하지
rmdir 디렉토리
mklink /?
mklink를 치면 어떻게 사용하나 나옴
먼가 디랙토리릴 링크해야할 필요가 있을때
parallel_studio_xe_2011
이름도 어려운 패러럴 스튜디오
프로그램을 여러가지 방법으로 측정하고 고칠만한 요소를 볼려고 하는데
메모리도 보고 스래드도 보고, 속력도 보고... 특히 써볼려고 하는건
vturn 맞나?? 철자가.. 여튼 그거
그중에서 특정 부분의 코드의 속력만 보고 싶을때는
구버전
http://software.intel.com/en-us/articles/use-vtuneapi-in-intel-parallel-amplifier-for-selective-code-profiling/
현재 재목과 같은 버전을 태스트 하려면
http://software.intel.com/en-us/articles/use-new-pause-and-resume-api-from-intel-vtune-amplifier-2011-xe/
근데 결론은... 아래버전으로 샐랙티브 코드의 측정을 하려고 했으나 비쥬얼 스튜디오가 먹통됨....
일단 해보자는..
아.. 글고 평가판 쓰고 있는중임.
응용 프로그램 실행오류, sidebyside,시작점을 찾을수 없습니다. 해결법
컴퓨터 관리자
로그에 응용프로그램에서 문제를 선택
정확한 dll명이 나온다.. 아놔.. 시발 이걸 몰라서
존나 개삽질 했네... 이거 알려주신 책임님 만세
[펌]C# 초보자부터 고수까지.
--------------------------------------------------------------------------------------------------------------
전 회사에서 c#공부를 할려고 했었는데 어떤책을 봐야하나 고민 좀 했었는데.. 좋은 글이 요킹 있넹
[펌]C++ 초보자부터 고수까지
펌// 끝
요즘 회사서 네이티브 랭귀지 스터디합니다. 초입으로 손 마추기로 열형강의 c++4주 완성 하고 있는데, 이후 볼 책에 대한 방향으로 아래 책들이 적당한거 같네요.
멀좀 알아야 먹고 살지 않을가 하며
warning C4251
1. 현상
이 글은 예전 GPG 스터디 포럼에 jst0808 님이 올리신 주제와 그에 대한 답글들입니다. 원본(Ezboard)은 "STL질문여..!"입니다.
그안에 STL vector 를사용한 기능이 있는데..
그냥 static library로 쓸때는 암 문제 없이 돌아 갔어어여.
근데 dll 로 만드니깐.
warning C4251: 'STL_MyVec' : class 'std::vector<struct MyVec,class std::allocator<struct MyVec> >' needs to have dll-interface to be used by clients of class 'MyClass'
이런 워닝이 뜨데여. 기능은 별문제 없이 돌아가는데..
좀 찜찜해서리..
갈켜 주세여.
STL_MyVec의 기반 클래스를 선언할 때 앞에 __declspec(dllexport) 를 붙이지 않았기 때문이라고 합니다.
STL과 특별한 관련이 있는 것 같지는 않구요. 일반적으로 클래스의 멤버 함수를 익스포트할 때 고려해야 하는 문제인 것 같은데.. 다른 분이 좀 더 자세히 이야기해 주시길...
/*************************
as simple as possible,
but not simpler
*************************/
__declspec(dllexport) 로 선언되지 않은 클래스를 사용할 때 나타나는 경고입니다. 주로 MFC 클래스들을 사용할때 나타납니다.
만약 mfc 를 사용하지 않는다면 겉으로 드러나는 클래스는 전부 __declspec(dllexport) 를 사용하시구여.
#pragma warning(disable: 4251)
로 경고를 막아버리시면 경고에 대한 스트레스를 받지 않을 겁니다.
stl 을 사용하다보면 몇가지 경고가 나오는데, 대부분 위의 방법으로 무시해버리실 수 있습니다.
#pragma warning(disable : 4251)
#pragma warning(disable : 4786)
요 두놈이 꼭 따라다니더군여....
STL 쓰시면서 젤 많이 만나는 경고일겁니다..
저두 STL 많이 쓰는 편인데..
이젠 아예 코드 맨 위에다가 버릇처럼 써넣습니다.. ^^
그럼 즐프하세요.. ^^
[출처] [펌] [stl] #pragma warning(disable : 4786)|작성자 오서비
DLL제작시 warning C4251: 에 대한 대처 PDF 문서 인용.
#include<vector>
#if !defined(DLLEXPORT_EXPORTS)
# define DLLEXPORT_API __declspec(dllexport)
#else
# define DLLEXPORT_API __declspec(dllimport)
#endif
class DLLEXPORT_API CDLLexport
{
public:
std::vector<char> vs;
};
warning C4251: 'vs' : class 'std::vector< char,class
std::allocator<char> >' needs to have dll-interface to be used by
clients of class 'CDLLexport'
이 경고는 클래스 CDLLexport에서 사용된 vs라는 개체의 클래스가
DLL 인터페이스를 가져야 한다고 말해주고 있다. 즉 이 경고에 따르면 m_strUpdateIgnore는 DLL에 해당
하는 인터페이스가 없기 때문에 외부에서 사용할 수 없다는 뜻이다. 분명 클래스를 DLL 인터페이스로
지정하였는데 어째서 UpdateIgnore::m_strUpdateIgnore는 문제가 발생하는 것일까? 일반적인 클래스나 함수, 개체를
DLL 인터페이스로 지정하는 것은 위와 같은 선언이면 충분하지만, 템플릿을 DLL 인터페이스로 지정하
기 위해서는 좀더 복잡한 과정이 필요하기 때문이다.
템플릿은 DLL 인터페이스로 지정되기 전에 먼저 템플릿을 인스턴스화하고, 이 인스턴스가 DLL 인터페
이스를 갖는다고 지정해야 한다. 앞의 예를 다음과 같이 수정해 보자.
#include<vector>
#if !defined(DLLEXPORT_EXPORTS)
# define DLLEXPORT_API __declspec(dllexport)
# define DLLEXPORT_TEMPLATE
#else
# define DLLEXPORT_API __declspec(dllimport)
# define DLLEXPORT_TEMPLATE extern
#endif
DLLEXPORT_TEMPLATE template class DLLEXPORT_API std::vector<char>;
class DLLEXPORT_API CDLLexport
{
public:
std::vector<char> vs;
};
다시 컴파일해 보자. 자, C4251은 사라졌다. 먼저 사용할 컨테이너 vector의 완전한 인터페이스를 인
스턴스화하고, DLL 인터페이스를 지정함으로써 더 이상 경고가 발생하지 않는다. 여기서 사용된 키워
드 extern(DLLEXPORT_TEMPLATE)은 이 파일이 DLL용으로 컴파일될 때 템플릿 클래스를 명시적으
로 인스턴스화할 것을 명령하는 역할을 한다.
이런 방법을 사용한다고 해도 DLL에서 컨테이너를 export하는 것은 vector를 제외하면 불가능하다.
인스턴스화와 동시에 인터페이스를 지정하는 도중 체인이 발생하여 더 이상 인스턴스화를 진행할 수 없
기 때문이다.
출처 : http://blog.naver.com/wwforever80/60043796212
댓글만 남기고 허락 없이 퍼왔어요 - -;
[펌] 멀티맵 사용 예제
//multmap.cpp -- multimap을 사용한다
#include <iostream>
#include <string>
#include <map>
#include <algorithm>
using namespace std;
typedef int KeyType;
typedef pair<const KeyType,string> Pair;
typedef multimap<KeyType,string> MapCode;
int main()
{
MapCode codes;
codes.insert(Pair(415,"샌프란시스코"));
codes.insert(Pair(510,"오클랜드"));
codes.insert(Pair(718,"브루클린"));
codes.insert(Pair(718,"스탠튼섬"));
codes.insert(Pair(415,"샌라파엘"));
codes.insert(Pair(510,"버클리"));
cout << "지역코드가 415인 도시 수:" << codes.count(415) << endl;
cout << "지역코드가 510인 도시 수:" << codes.count(510) << endl;
cout << "지역코드가 718인 도시 수:" << codes.count(718) << endl;
cout << "지역 코드 도시\n";
MapCode::iterator it;
for (it = codes.begin(); it != codes.end(); ++ it)
cout << " " << (*it).first << " " << (*it).second << endl;
pair<MapCode::iterator,MapCode::iterator> range = codes.equal_range(718);
cout << "지역 코드가 718인 도시들:\n";
for (it = range.first; it != range.second; ++ it)
cout << (*it).second << endl;
return 0;
}
[출처] multimap사용한 도시명과 코드 예제|작성자 지현사마
쉽게 쓸수 있긴한데 느리진 않겠징...