어떤 디비 서버(A라 가정)에 있는 테이블의 값을 읽어와
다른 테이블(B라 가정)에 insert 하는 프로그램을 하려고 합니다.
그런데 보통 한 프로세스에서 한 디비서버에 커넥션을 하면
쿼리문을 수행할때 늘 커넥션이 유지된 서버에서만 작업을 해서
읽어온 후 다른 디비서버로 넣으려면 다른 프로세스를 하나 더 만들어야 하는건지 알고 싶습니다.
그냥 하나의 프로세스에서 두개 이상의 데이타베이스 커넥션을 유지할 수는 없는건가요?
이런 경우 컴파일 에러를 내는 걸로 알고 있습니다. test1.cpp를 컴파일 할 때
컴파일러가 size의 값을 알 수 없기 때문이죠. VC++에서 테스트를 해보니
역시 컴파일에러를 내는군요... 그런데.
gcc 에서 해보니 에러가 안나네요. 배열이 아주 정상적으로 만들어지고 실행도
어떤 코드를 보다보니 realloc을 쓴 코드가 보이더라구요..
몇년동안 코드를 보아오면서 realloc을 적용한 코드는 처음 봤는데
정확한 이유는 몰라도 그냥..realloc이라는 함수에 대한 이미지가 안좋았거든요
아마도 내부적으론 기존의 메모리를 없에고 다시 새로운크기만큼 재할당이겠죠? 설마 진짜 기존껀 냅뚜고 연장이라는 개념이 가능하진않을거같아시리..(추측)
암튼..
그 코드에선 realloc을 적용시킬 버퍼가 어짜피 몇바이트 안되는것들이라서
재할당해도 별 오버헤드가 없을거 같다는 생각에 realloc을 쓴거라고 생각했는데 궁금중이 생겨서요.