|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Mon May 18, 2009 9:18 am Post subject: |
|
Kāpēc 32 bitu ikpmp3 nevar ielādēt uz 64 bitu? Pats taču saki, ka 32 bitu iet uz 64 bitu OS. Kāda nozīme dll, vai exe?
Es varu lasīt kaut desmit reizes, bet līdz galam nesaprotu, ko man darīt! :oops:
Labi, nākamreiz kompilēšu kā 32 bitu, nevis kā Any CPU, no kura nav nekādas jēgas. Ja būtu jēga, tad nebūtu crash. Kur tad progammētājam zināt, ka kaut kāds irrklangs ir ticis kompilēts ar Any CPU, ja pašam programmētājam nav 64 bitu sistēma? Un kur tad Microsoft tiek galā, ja izraisās crash?
Lai jau paliek, citādi sāksies offtopiku straumes. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Mon May 18, 2009 9:26 am Post subject: |
|
EDDY wrote: | Kāpēc 32 bitu ikpmp3 nevar ielādēt uz 64 bitu? Pats taču saki, ka 32 bitu iet uz 64 bitu OS. Kāda nozīme dll, vai exe? |
Tu slikti lasi, ko es rakstu.
Es tak rakstīju - ja tev ir exe fails ar Any CPU, tad tas laižās tādos bitos, kā ir neitīvās OS biti (manā gadījumā 64). Taču tad tu gribi no tā ielādēt 32-bitu dll failu, kas nav iespējams. Vienā procesā nevar vienlaicīgi gan 32, gan 64 bitu dll failus lādēt. Tīri 32-bitu exe failu, protams, var laist uz 64-bitu OS. Visu laiku tak to rakstu.
64 bit exe -> 64 bit dll = OK (Tikai uz 64-bit OS)
32 bit exe -> 32 bit dll = OK (Gan uz 32, gan 64 bit OS)
64 bit exe -> 32 bit dll = FAIL (Uz 64-bit OS)
32 bit exe -> 64 bit dll = FAIL (Uz jebkuras OS)
Any CPU exe -> 32 vai 64 bit exe -> tālāk atkārtojas viens no augstāk esošiem scenārijiem atkarībā no tā vai laižās 32 bit exe vai 64.
(gan uz 32, gan 64-bit OS)
Quote: | Kur tad progammētājam zināt, ka kaut kāds irrklangs ir ticis kompilēts ar Any CPU, ja pašam programmētājam nav 64 bitu sistēma? |
Dokumentācijā, protams: http://msdn.microsoft.com/en-us/library/ms241064.aspx
Quote: | Determining the status of an .exe or .dll
Use corflags.exe at the command line to see if it an .exe or .dll is meant to run only on a specific platform or under WOW64. You can also use corflags.exe to change the platform status of an .exe or .dll. See CorFlags Conversion Tool (CorFlags.exe) for more information. |
Quote: | Un kur tad Microsoft tiek galā, ja izraisās crash? | A ko citu darīt, ja programmētājs līku softu uztaisījis? Tā nav Microsoft atbildība, labot kļūdas tavās programmās.
Last edited by bubu on Mon May 18, 2009 11:32 am; edited 1 time in total |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Mon May 18, 2009 10:06 am Post subject: |
|
Tātad pēc idejas visi dll un exe uz savas 32 bitu OS jānokompilē ar vai nu 32 bit, vai Any CPU flagu?!? _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Mon May 18, 2009 3:53 pm Post subject: |
|
Nē, visus dll un exe failiem kompilē ar vienādiem "bitu" settingiem.
Eh, vienkārši visiem liec 32 bitus un būs ok.. _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Tue May 19, 2009 7:36 am Post subject: |
|
Atkal viens jauc galvu!
Tad, tavuprāt Snake5, Any CPU ir nekam nederīgs?
Nu, un kuros gadījumos es varu, tavuprāt, lietot Any CPU? Tikai lūdzams bez tiem - "viņš tev jau teica ...."
Ja pieņem, ka es sadabonu to irrklang izejas kodu priekš abiem dll, tad es varu tos visus 3 kompilēt uz Any CPU un ies uz mana un ies uz bubu datora, vai ne? _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Tue May 19, 2009 9:15 am Post subject: |
|
EDDY wrote: | Nu, un kuros gadījumos es varu, tavuprāt, lietot Any CPU? Tikai lūdzams bez tiem - "viņš tev jau teica ...." |
Bet es jau taču teicu! :) Ja nemaldos, tad 4 reizes kā minimums.
Quote: | Ja pieņem, ka es sadabonu to irrklang izejas kodu priekš abiem dll, tad es varu tos visus 3 kompilēt uz Any CPU un ies uz mana un ies uz bubu datora, vai ne? |
Any CPU attiecas tikai uz .NET assemblijām. Uz neitīviem kodiem tādas iespējas nav (ikpMP3.dll fails), jo neitīvs kods tāpēc jau ir neitīvs kods - nokompilēts konkrētam targetam (x86 vai x86-64).
Bet ja tie abi dll būtu .NET's, tad - jā, tādā gadījumā abi nokompilēti ar Any CPU ies uz abām os - gan 32, gan 64-bitu. Vai tad to vēl joprojām no augstāk rakstītā nebiji sapratis? |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Tue May 19, 2009 9:26 am Post subject: |
|
Kas ir neitīvs kods? _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Tue May 19, 2009 9:37 am Post subject: |
|
Tad jau vajadzēja rakstīt - native kods ...
Man tavs izskatījās pēc ne-itīvs. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Tue May 19, 2009 2:58 pm Post subject: |
|
Tagad vairs nebrīnos, kur tie dīvainie tulkojumi rodas..
Jo ātrāk iemācīsies saprast vārdus pēc izrunas, jo vieglāk būs
http://en.wiktionary.org/wiki/native
Btw, EDDY, pārlasot bubu tekstus, redzēju, ka viņš to vārdu lietoja jau iepriekš. Kāpēc tad neprasīji? Slinkums pašam palīdzēt un visu kārtīgi izlasīt vai tad saprati un tagad nesaproti?
P.S. Es galvu nejaucu. Ja pat nesaprati tik vienkāršu norādījumu kā visu kompilēt uz 32bitiem, tad es nezinu, kā vēl var paskaidrot.. _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Tue May 19, 2009 3:33 pm Post subject: |
|
Es sapratu to tā, ka ikpMP3.dll nav kompilēts ar C#, tāpēc arī nevar tam likt Any CPU.
Un tā kā tam nevar likt šo flagu, tad visi projektā iesaistītie dll un exe ir jākompilē ar 32 bitu flagu.
Snake5, vispirms jātiek skaidrībā ar vienu lietu, un ja kaut kas nerīmē, tad jānoskaidro pārējais nezināmais. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Mon May 25, 2009 7:03 am Post subject: |
|
Labi, miers ar to .NET.
Paturpināju OpenGL iesākto menu.
Lietošanas instrukcija:
Izmantojam tikai klaviatūru: ←, ↑, →, ↓, esc, enter.
Pāreja uz otru failu nestrādā kā nākās. Izmantoju _execl(). It kā vajadzētu system(".exe"), bet šis variants crash-o. Kāds tad ir labāks variants? Nekur helpā nav skaidri paskaidrots, ar ko gan _execl atšīrās no pārējiem.
Par pašu S.exe:
Izdomāju, ka šis būs labākais veids. Izmantojam tikai peli.
http://yy.lv/download.php?f=46013 _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Mon May 25, 2009 7:36 am Post subject: |
|
To pašu es lasīju offline helpā. Nav skaidrības, kas tie par mistiskiem argumentiem. :roll:
Nu es uzrakstīju kodā ko līdzīgu šim -
1. variants = _execl("S.exe", "S.exe", "Sudokus");
2. variants = _execl("S.exe", "S.exe", "Sudokus", NULL);
3. variants = _execl("S.exe", "S.exe", "Sudokus", "Sudokus", NULL);
Šķiet, ka problēma ir tur, kāda pastāv saistība ar Unicode. _execl() vietā liku _wexecl(), jo man Configure.exe ir kā unicode. Otrs laikam ir multibyte. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Mon May 25, 2009 7:49 am Post subject: |
|
Nu doh, tak lasi:
Quote: | _exec function suffix
Description
e
envp, array of pointers to environment settings, is passed to the new process.
l
Command-line arguments are passed individually to _exec function. Typically used when the number of parameters to the new process is known in advance.
p
PATH environment variable is used to find the file to execute.
v
argv, array of pointers to command-line arguments, is passed to _exec. Typically used when the number of parameters to the new process is variable. |
Vai atver konkrēto funkciju un lasi tur, piemēram _execle:
Quote: | Parameters
cmdname Path of the file to execute.
arg0, ...argn List of pointers to parameters.
envp Array of pointers to environment settings.
|
kas to būtu domājis, ka tas ir dokumentācijā uzrakstīts... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|