The entry points are explained in the 'anatomy of an addon' paragraph in the link I posted.
An archicad addon doesn't require a Main.cpp to work it can be named whatever you want.
The way you interact with archicad is either through menus or dialogs, palettes.
menus are defined in .grc file
dialogs or palettes are defined in cpp files.
You link the menu to your functions through MenuCommandHandler.
Look at the blog articles, there is a hello world example that explains all this.
Thanks so much for your clarification. Besides this, the resource of .grc file explanation is very rare. For example, if I want to display a value getting from API function on the dialogs. Do I need to declare a text or label in .grc file or not? if so, how to implement this?