-I"path" include the header path
-L"path" include the dynamic path or static path
-llibname include the library name, without lib prefix.
you can specify the dynamic library in the LD_LIBRARY_PATH as well.
- -D add individual macro definition.
such as main.cpp: 
int main()
{
    int a=0,b=1;
    int c=a+b;
  #ifdef DEBUG
      cout<<"result = "<<c<<endl;
 #endif
return c;
}
You can generate verbose version program using
g++ main.cpp -o main -DDEBUG