lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


my problem is, it doesnt work and does not bind to executable!
it open's it!, but writes to another file, but the file is different
from executable

۱۳۹۴-۰۶-۰۲ ۱۲:۳۶ GMT+۰۴:۳۰, Amir Ramezani <amir.ramezani1370@gmail.com>:
> i'm using windows 7, with GCC 4.8.1 with C++ 11 and lua 5.1
> l is a pointer to lua_State, and globalChunkInfo is a struct with
> these deffinitions:
> typedef struct GlobalChunkInfo {
> unsigned long offset;
> unsigned long length;
> unsigned long count;
> unsigned long long magic;
> } GlobalChunkInfo;
>
>
> ۱۳۹۴-۰۶-۰۲ ۱۲:۰۹ GMT+۰۴:۳۰, Sean Conner <sean@conman.org>:
>> It was thus said that the Great Amir Ramezani once stated:
>>> hello,
>>> i want to turn a lua code in my application to executable!
>>> i've wrote a code from
>>> http://github.com/qtnc/lua2exe
>>> but it doesn't work
>>> this is my compiler class which bind's the script:
>>
>>   [ snip ]
>>
>>> what is the problem here? and how can i fix it
>>
>>   First problem:  the formatting.  Horrible and extemely hard to read.
>>
>>   Second problem:  no indication of what operating system you are using
>> (MS-DOS?  AmigaOS?  BeOS? VMS?)
>>
>>   Third problem:  no indication of which C++ compiler you are using.
>>
>>   Fourth problem: no indication of what Lua version you are using.
>>
>>   Fifth problem:  This isn't valid C++ code.  For instance, this line:
>>
>> 	buffer=malloc(bufferlen);
>>
>>   C++ mandates that you cast this to the proper type, so it should read
>> like:
>>
>> 	buffer = (char *)malloc(bufferlen);
>>
>> The C++ compiler you are using should have given a warning (or
>> error---I'm
>> not terribly versed in C++, but know enough to get code compiled).
>> Another
>> example:  you have the following function:
>>
>> 	int output(const char *scr,bool dbg)
>> 	{
>> 	  // ...
>> 	  preparename(scr);
>> 	}
>>
>> scr is defined as a pointer to constant characters (characters that
>> read-only and cannot be changed).  Yet the function for preparename():
>>
>> 	void preparename (char* s)
>> 	{
>> 	  char* c = strrchr(s,'.');
>> 	  if (c)
>> 	  {
>> 	    *c=0;
>> 	  }
>> 	  while (*(++s))
>> 	  {
>> 	    if (*s=='/' || *s=='\\')
>> 	    {
>> 	      *s='.';
>> 	    }
>> 	  }
>> 	}
>>
>> attempts to change it.  Again, your C++ compiler should have warned you
>> about this as well.
>>
>>   Sixth:  What you've given us is incomplete and can't even be compiled
>> as
>> is (fifth problem not-withstanding) because of missing definitions.  One
>> example is the definition of GlobalChunkInfo.  Another is that you keep
>> using the variable 'l' for the Lua state, yet you don't have that
>> variable
>> defined anywhere---for instance, your public method compiler::compile()
>> references 'l', but you don't define in in the function, the class, nor
>> do
>> you pass it in as a parameter.
>>
>>   Seventh:  You don't state what exactly your problem is.
>>
>>   I think you'll need to address these issue first before anyone can give
>> you more help with your issue.
>>
>>   -spc
>>
>>
>>
>