ORBConcurrency thread-per-connection

create file hello_svc.conf with the following content according to this document:
static Resource_Factory “-ORBResources global -ORBReactorType select_mt”
static Server_Strategy_Factory “-ORBConcurrency thread-per-connection”
start naming server:
tao_cosnaming -ORBListenEndpoints iiop://localhost:9999
start servant:
taohelloserver -ORBInitRef NameService=corbaloc:iiop:localhost:9999/NameService -ORBSvcConf ~/workspace/taohelloserver/hello_svc.conf

The document says that it can also be configured by code instead of file:
TAO::ORB::default_svc_conf_entries //TAO_Internal::
(NULL, NULL, “static Server_Strategy_Factory \”-ORBConcurrency thread-per-connection\””);
but I got link error:
/home/onega/workspace/taohelloserver/Debug/../taohelloserver.cpp:21: undefined reference to `TAO::ORB::default_svc_conf_entries(char const*, char const*, char const*)’
collect2: ld returned 1 exit status

[onega@localhost Debug]$ nm –demangle $ACE_ROOT/lib/libTAO.so | grep “default_svc_conf_entries”
000efa80 t TAO::ORB::default_svc_conf_entries(char const*, char const*, char const*)

There is a post recommended adding TAO_Export to default_svc_conf_entries() in TAO_Internal.h, but I still got the link error after rebuild TAO.

Posted in ACE, CORBA, CPP | Tagged | Leave a comment

Max file size for log file

supported libraries: ACE library ACE_Logging_Strategy class, Boost.log library.

Posted in ACE, CPP, Open Source | Leave a comment

IE7 compatibility issue

An application used wininet.dll works properly on system with IE6 installed, but failed to allocate 800MB memory on system with IE7 installed. The address space is fragmented by the following 2 DLLs

3d930000 3da01000   WININET  C:\WINDOWS\system32\WININET.dll

3dfd0000 3e015000   iertutil C:\WINDOWS\system32\iertutil.dll

This issue is fixed by /DELAYLOAD linker option.

Posted in CPP, MFC | Leave a comment

MinGW and boost

On windows 7 enterprise 64bit OS
install mingw-get-inst-20111118
d:\src\boost_1_49_0>bootstrap.bat mingw
d:\src\boost_1_49_0>.\b2.exe –build-type=complete –toolset=gcc stage

when using boost library, define BOOST_THREAD_USE_LIB to fix undefined reference error as the following:
**** Build of configuration Debug for project boostprocess1 ****

**** Internal Builder is used for build ****
g++ -LD:\src\boost_1_49_0\stage\lib -o boostprocess1.exe src\boostprocess1.o -lboost_filesystem-mgw46-mt-sd-1_49 -lboost_thread-mgw46-mt-sd-1_49 -lrpcrt4 -lboost_system-mgw46-mt-sd-1_49 -lws2_32
src\boostprocess1.o: In function `ZN5boost11this_thread18interruptible_waitEy’:
D:/src/boost_1_49_0/boost/thread/win32/thread_data.hpp:161: undefined reference to `_imp___ZN5boost11this_thread18interruptible_waitEPvNS_6detail7timeoutE’

Posted in CPP, IDE, Open Source | Leave a comment

FPGA Comparison

FPGA Logic Cells Comparison compares Virtex-4 Slices, Virtex-5 Slices and Altera ALMs.
Virtex-4 slice
Virtex-4 slice
Virtex-5 slice
Virtex-5 slice
Virtex-6 slice
Virtex-6 slice
3-bit counter with D flip-flops

Posted in FPGA | Tagged | Leave a comment

Eclipse CDT Indigo + qt-eclipse-integration-win32-1.6.1.exe

Install mingw-get-inst-20110802.exe. After installation I have D:\apps\MinGW\bin\mingw32-g++.exe
Install qt-win-opensource-4.7.0-mingw.exe. After installation, I have D:\apps\Nokia\Qt\4.7.0\bin\qmake.exe
Install qt-eclipse-integration-win32-1.6.1.exe. After installation I have D:\apps\Nokia\Eclipse\start.bat
modify D:\apps\Nokia\Eclipse\start.bat
set PATH=D:\apps\MinGW\bin;D:\apps\Nokia\Qt\4.7.0\bin;%SystemRoot%\System32

Check QT path in Eclipse:
Window -> Preferences -> Qt
Bin Path: D:\apps\Nokia\Qt\4.7.0\bin
Include Path: D:\apps\Nokia\Qt\4.7.0\include

Start -> All Programs -> Qt by Nokia v4.7.0 (OpenSource) -> Qt 4.7.0 (Build Debug Libraries)

Start -> All Programs -> Qt Eclipse Integration v1.6.1 -> Start Eclipse with MinGW

Create a new Qt project in Eclipse;
Update make file by menu “Project” -> “Run qmake”

Posted in CPP, Eclipse, IDE, QT | Leave a comment

VC9 build ACE+TAO+CIAO-6.0.4.zip

call “%VS90COMNTOOLS%/../../vc/bin/vcvars32.bat”
cd /d G:\src\ACE6.0.4\ACE_wrappers\

time /t >> vc9build4.log
devenv G:\src\ACE6.0.4\ACE_wrappers\ACE_wrappers_vc9.sln /useenv /Build “Debug|Win32” >> vc9build.log
time /t >> vc9build4.log
devenv G:\src\ACE6.0.4\ACE_wrappers\ACE_wrappers_vc9.sln /useenv /Build “Release|Win32” >> vc9build.log
IF NOT EXIST ace\config.h xcopy /f ace\config-win32.h ace\config.h

REM add G:\src\ACE6.0.4\ACE_wrappers\TAO\tao to VC++ 2008 include path “Tools->Options…

SET INCLUDE=G:\src\ACE6.0.4\ACE_wrappers\TAO\tao;%INCLUDE%

cd /d G:\src\ACE6.0.4\ACE_wrappers\TAO
time /t >> G:\src\ACE6.0.4\vc9build4.log
devenv G:\src\ACE6.0.4\ACE_wrappers\TAO\TAO_ACE_vc9.sln /useenv /Build “Debug|Win32” >> G:\src\ACE6.0.4\vc9build4.log
time /t >> G:\src\ACE6.0.4\vc9build4.log
devenv G:\src\ACE6.0.4\ACE_wrappers\TAO\TAO_ACE_vc9.sln /useenv /Build “Release|Win32” >> G:\src\ACE6.0.4\vc9build4.log
time /t >> G:\src\ACE6.0.4\vc9build4.log

Posted in ACE, CORBA, CPP, Open Source | Leave a comment