flat assembler
Message board for the users of flat assembler.

Index > IDE Development > FASM's IDE Run command

Author
Thread Post new topic Reply to topic
Asm++



Joined: 04 Feb 2013
Posts: 24
Location: On a Chip!
Asm++
Hi everybody, I'd like to talk about the Run command in FASM's IDE, when try to JUST RUN(execute) my program, the action happens to Compile the source code THEN Run it, I find it sometimes an annoying thing.

So, Is this a feature or a bug?

Is there an intention to change it, to be something like this:

Compile -> Just Compile.
Run -> Just Run.
Compile and Run -> Compile then Run.

What do you think?

_________________
Binary is nice, but Assembly is better!


Last edited by Asm++ on 06 Feb 2013, 06:39; edited 1 time in total
Post 05 Feb 2013, 09:30
View user's profile Send private message Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3502
Location: Bulgaria
JohnFound
Running your code you always expect that you are running the code in its latest form. The simplest way to guarantee this is to compile the source and then to run it.
Imagine you changed some source file outside the IDE (or using second instance of the same IDE).
The only other variant, although very, very hard to be properly implemented is to track all files that are included in the program and to detect their changes.
So, taking into consideration the speed of FASM compiler, it is simplest solution to compile the source when you want to run it.
Post 05 Feb 2013, 09:54
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
AsmGuru62



Joined: 28 Jan 2004
Posts: 1419
Location: Toronto, Canada
AsmGuru62
If I include a thousand files, then I would like to compile only if some files are modified, otherwise not needed to do what is already been done.
Post 05 Feb 2013, 15:28
View user's profile Send private message Send e-mail Reply with quote
shutdownall



Joined: 02 Apr 2010
Posts: 518
Location: Munich
shutdownall
I don't know what's the problem.
If the souce is not changed it is not compiled again.
So when something is changed it is a good idea to compile it first.
Anyway compiling is not just compiling it also stores changed source onto disk.
This is a good feature if executable crashes.
It then crashes FASM, too.

So I would leave it as it is.
Rolling Eyes
Post 05 Feb 2013, 15:35
View user's profile Send private message Send e-mail Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17714
Location: In your JS exploiting you and your system
revolution
shutdownall wrote:
This is a good feature if executable crashes.
It then crashes FASM, too.
Eh? I would expect that the exe would run as a separate process. Are you sure fasm crashes in such a case?
Post 05 Feb 2013, 15:37
View user's profile Send private message Visit poster's website Reply with quote
baldr



Joined: 19 Mar 2008
Posts: 1651
baldr
Asm++,

It's a minor modification and you can do it yourself (you do have sources, don't you?) Wink
Post 05 Feb 2013, 20:15
View user's profile Send private message Reply with quote
Asm++



Joined: 04 Feb 2013
Posts: 24
Location: On a Chip!
Asm++
JohnFound,
I understand your point of view, but why I have not the choice to do what I think is right? why the IDE force me to Compile when I just want to Run? one more note, Run supposed to be Run, NOT Compile and Run, this seems like MOV instruction! Shocked

AsmGuru62,
Exactly, that is what I mean, why have you to do something Unnecessary? why wasting time and power for Nothing? Shocked

shutdownall,
As revolution have said, FASMW runs your program as a Separate Process not as a Thread or something, so if it will crash, then it will, BUT alone, FASMW will be Fine Wink .

baldr,
Yes it is a minor modification, and I do have the sources, but I'd like to see it in the Official Releases Smile .

_________________
Binary is nice, but Assembly is better!
Post 06 Feb 2013, 07:04
View user's profile Send private message Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3502
Location: Bulgaria
JohnFound
Asm++ wrote:
I understand your point of view, but why I have not the choice to do what I think is right? why the IDE force me to Compile when I just want to Run? one more note, Run supposed to be Run, NOT Compile and Run, this seems like MOV instruction! Shocked

It is because of the two programming principles:

1. KISS - usually, running from inside the IDE you want to test the changes you made to the source code. So, in most cases the code you just changed, must to be first compiled. Why to invoke two commands while you can invoke only one.

2. POLA - If you made some changes and then run your program and these changes are not included in the executed program, would be more astonishing for the developer, than running compilation process and then running the result binary.

If you want to run an already compiled binary, you don't need the IDE at all. Simply use the usual methods, provided by the OS you are working in.

_________________
Tox ID: 48C0321ADDB2FE5F644BB5E3D58B0D58C35E5BCBC81D7CD333633FEDF1047914A534256478D9
Post 06 Feb 2013, 07:44
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
shutdownall



Joined: 02 Apr 2010
Posts: 518
Location: Munich
shutdownall
revolution wrote:
shutdownall wrote:
This is a good feature if executable crashes.
It then crashes FASM, too.
Eh? I would expect that the exe would run as a separate process. Are you sure fasm crashes in such a case?


Oh I was wrong. Maybe due to several FASMW instances running. So the new started FASM process will die only. Anyway I like the behaviour of FASMW like it is. Razz
Post 06 Feb 2013, 10:06
View user's profile Send private message Send e-mail Reply with quote
shutdownall



Joined: 02 Apr 2010
Posts: 518
Location: Munich
shutdownall
Asm++ wrote:
JohnFound,
I understand your point of view, but why I have not the choice to do what I think is right? why the IDE force me to Compile when I just want to Run? one more note, Run supposed to be Run, NOT Compile and Run, this seems like MOV instruction! Shocked


You are free to change the behaviour of FASMW, just change the part and rebuild it and go for it. Or write your own IDE. The much more kidding feature is to close any source on hit of ESC key. If you want to find some phrase in the source and hit ESC (due to behave of FIND in other WIN applications and yearly trained usage) - the souce is gone and if you have only one source file FASMW closes silently. But here it helps to change the source which will bring a save dialog first. Cool

Or you use the fresh IDE. As I understood Tomasz the IDE is just another example application, of course more useful than the beer example. Razz
There are more features added I use regularly, for example to integrate a listing in the IDE. I coupled this with CTRL-F8 (create symbol file) which automatically creates a listing and opens it in a new tab. Quite usefull. You have to do these features on your own. Shocked

On the other hand it would be annoying to manually rebuild the application first with an additional keypress. And this could cause handling errors as well (forgot to recompile the source).

For example under WIN7 I have added the main application working on to the taskline. So I can simply click there to start the old version. And if you only want to start it, why do you open the source first ? There are so many ways just to launch an application, there is no special way needed with the IDE I think.

What about open an explorer window, pointing to your application and click it there to start ?
Post 06 Feb 2013, 10:13
View user's profile Send private message Send e-mail Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
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
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.

Website powered by rwasa.