I want to create an application. It shouldn't be OS-specific but I'm running 98SE so I'll be explaining things in terms of that. I've already written it as a working script in VBScript, but it's too slow and gets exponentially slower as it handles larger and larger files.
I want to write it in another language as an executable, but I'm not sure what language will work -- or which would be best.
I have a feeling that C or one of its relatives is what I should be using but to be honest in my ignorance I have almost no basis for any opinion.
Here's what I need to use this language to do:
I need a native, portable-OS GUI.
I need multiple-file-handling capabilities invoked via the shell (i.e., by right-clicking on a selected file or selected files and invoking the program through their context menu).
I need it to read binary data from disk.
I need it to write binary data to disk.
I need to produce it in (at least) executable form. I'm fine if it's platform-portable, but I need it in Windows and frankly the people I'll be giving it to will be using Windows, too.
I need a free compiler operable on 98SE.
In other words: the user will select files or a file and through the shell context menu invoke the program using the files or file as arguments (correct terminology? I'm not sure). After the user manipulates settings from the GUI, the program will read the files or file as binary data and write further binary data to disk.
What language should I use? How do I go about it?
I taught myself VBScript from scratch but that was accidental and although I've become proficient with it I am because of my ignorance at a loss when it comes to other programming languages' merits, drawbacks, capabilities, &c.
If I can produce an executable with a native, portable-OS GUI, shell integration, and binary IO capabilities (preferably in single file -- no installation needed), that's all I need.
As I've said I'm running 98SE and don't have any other option; and it does have to be a free compiler (this is only a personal project).
Thanks very much for the suggestions as to which language I need to use. I'm entirely uninformed about this despite spending hours researching it on the Internet.
`me
Can I do this in C?
Started by ananda6359, Jul 19 2007 07:35 PM
4 replies to this topic
#1
Posted 19 July 2007 - 07:35 PM
|
|
|
#2
Posted 19 July 2007 - 10:13 PM
Yes, it's possible to do in C.
I'll suggest you just to use the Win32 API, instead of something like wxWidgets. You're saying it shouldn't be cross-platform, so Win32 API will be just fine. Most of the functionality in Win32 API will work on Windows 98, because the last biggest changes there were was in Windows 95, though there've been minor changes as well, from version to version.
You're able to do some shell scripting through the Win32 API. Actually, almost everything you want to do in Windows, can be done using the Win32 API. So you just have to find the right functions, and everything will work out.
Which kind of "disk" are you going to read/write to?
To output it in an executable format should be the smallest problem in your whole project. If you're using GCC, then GCC will first compile your C-code, GAS will compile the outputted Assembly-code, and finally LD will take over and it will link your objects. This will result in an executable file.
I'll suggest GCC as your compiler. It's easy to use, open source and free. It's also able to compile a handful of other languages, including C++, and others.
I'll suggest you just to use the Win32 API, instead of something like wxWidgets. You're saying it shouldn't be cross-platform, so Win32 API will be just fine. Most of the functionality in Win32 API will work on Windows 98, because the last biggest changes there were was in Windows 95, though there've been minor changes as well, from version to version.
You're able to do some shell scripting through the Win32 API. Actually, almost everything you want to do in Windows, can be done using the Win32 API. So you just have to find the right functions, and everything will work out.
Which kind of "disk" are you going to read/write to?
To output it in an executable format should be the smallest problem in your whole project. If you're using GCC, then GCC will first compile your C-code, GAS will compile the outputted Assembly-code, and finally LD will take over and it will link your objects. This will result in an executable file.
I'll suggest GCC as your compiler. It's easy to use, open source and free. It's also able to compile a handful of other languages, including C++, and others.
#3
Posted 20 July 2007 - 07:55 AM
Actually, if you want portable and GUI, you're looking at using something like wxWidgets or GTK to get that effect. C/C++ do not provide native support for GUI programming, and using the OS API immediately makes it not OS-Independent. wxWidgets does a nice job for C++ of handling this.
I would also review the logic you are using. If your algorithm does not scale well, changing the language won't help much.
I would also review the logic you are using. If your algorithm does not scale well, changing the language won't help much.
#4
Posted 21 July 2007 - 11:46 PM
Sorry, guys it may be the very basic question, but I've done very little of c and I want to know this. How do I make the executable from a C programme?
#5
Posted 23 July 2007 - 08:04 AM
You have to use a compiler, such as GCC, MinGW, or others.


Sign In
Create Account

Back to top









