2013-09-21 4 views
0

내 응용 프로그램에서 저장 프로 시저 및 코드와 같은 기능을 설치할 때 많은 양의 const 문자열을 추가하려고합니다.많은 양의 상수 데이터가 코드에 저장되어 있습니까?

나쁜 실행이나 성능 문제입니까?

편집


내 질문은 매우 분명하다

const TCHAR* str = _T("SO SO LONG STRING .......................");//this string may exceeds 20,000 leter also I'll have many variables like this one containing big and huge strings 

질문은 "그 어떤 문제가 응용 프로그램의 크기가 증가 할 것이다 ?? 거기 그것은 등등로드 시간과의 " 명백합니까????

+0

큰 데이터 란 무엇입니까? 몇 자? – Paparazzi

+2

확실히 성능 문제는 아닙니다. 나쁜 습관 여부는 달려 있습니다. '이 프로그램을 재건하지 않고 문자열을 변경하고 싶습니까?' 대답이 '예'라면 문자열을 별도의 파일에 저장하고 프로그램에서 파일을 읽어야합니다. 그렇게하면 프로그램을 다시 빌드하지 않고도 문자열을 변경할 수 있습니다. – john

+0

프로그램이 매우 큰 경우 .. 의미있는 상수는 향후 문서화에 매우 유용합니다. –

답변

2

코드에 정의 된 상수를 처리 할 때 중요한 한 가지 중요한 문제는 이러한 상수가 변경 될 때마다 다시 컴파일해야한다는 것입니다. 상수가 스토어드 프로 시저 또는 시작시 데이터베이스에로드하는 사용자 정의 함수의 코드와 같이 프로덕션 환경에서 업데이트해야 할 수도있는 문자열을 나타낼 때는 제품과 함께 제공되고 상점에 저장 한 파일을 사용합니다 사전 정의 된 위치는보다 유연한 대안을 제공 할 수 있습니다.

성능면에서 코드에 정의 된 문자열 상수에 액세스하는 것이 외부 위치에서 읽는 것보다 빠릅니다.

+0

정말 우리는 우리의 디버그 솔루션에 대해 테스트합니다.이 버전의 끝 부분에 도달했음을 알려줍니다.보고 된 버그는 다음 버전 빌드에서 해결되며,이 문자열은 설치 후 응용 프로그램의 첫 번째 작업을 사용하기위한 것이며, 또한 새 데이터베이스를 만들 때 설치를 위해 하드 디스크 SQL 파일을 사용하는 다른 솔루션에 의존하고 업그레이드를 위해 테이블 ​​이름과 저장된 procs를 C++ 코드에 추가합니다. 이제는 개발자가 3 개의 SQL 파일과 C++에서 변경해야 할 것입니다. – ahmedsafan86

+1

@Ahmedsafan 동일한 코드를 3 부 복사하면 해결할 가치가있는 문제입니다. 컴파일 된 프로그램이나 외부 데이터 파일에서 코드를 상수로 사용하는 것이 가장 좋은지 아닌지는 다른 질문입니다. –

+0

@brianbeuning : 코드의 세 복사본이 아닌 int 세 개의 C++ 파일 이름을 추가합니다. 첫 번째 SQL 파일에 body를 추가하고 install sql 파일과 upgrade sql 파일에 sql 파일의 이름을 추가합니다. – ahmedsafan86

관련 문제