where does unity put the script's compiled CIL code?

where does unity put the compiled CIL codes? does unity add them to the main exe player? does it add them to one of the DLLs in game_data folder?

Yes, for windows EXEs, it adds them to the DLLs in the "YourGame_Data" folder (whatever the name of your game is).

Your C# goes into "Assembly - CSharp.dll".

Your Javascript goes into "Assembly - UnityScript.dll"

In addition, if you have any scripts which are in earlier passes, they go into other files with different names, such as "Assembly - CSharp - first pass.dll" or "Assembly - UnityScript - first pass.dll".

You'll see these in your _Data folder if you include the Standard Assets in your project, since these files are compiled in an earlier pass.

Is it the same for an iPhone compilation? I thought Apple doesnt allow a dynamic libraries loading on an iPhone.