|
The forum usually is to ask questions, I don't think the people here is going to give ready codes without questions. Have you at least used google to search? Most probably there will somewhere be available code to do that.
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
|
|
|
|
|
raavn wrote: I really need it ASAP.
Asking for free help and wanting it ASAP is rude. You are abusive in my opinion.
|
|
|
|
|
Please do not take it in negative sense.
I was really in need of it.
If you would be in such a need,then only you can understand.
|
|
|
|
|
We understand it, but you don't understand, that the "high level" users (and I'm not including me, I'm just a bit more than a begginer), that most of times help answering the questions, are pissed off about ASAP, URGENT, and such expressions, the first message of all (Chris Maunders) is there for a very clear reason.
On the other hand, if someone reads your message and knows the answer you will have it. If not... you won't have it. Is pretty useless that you write ASAP, it depends on when your message is read, if the reader knows the answer, if your message don't annoy the reader avoiding the answer and many other factors.
And as you can see below... If you just need code or examples about something, Google can sometimes do miracles. Other question is if you don't understand something, then you will logically have to ask.
BTW and for your info... The most of the URGENT, VERY NEEDED, ASAP and so on, is from people that left the work for the last moment and, then, OOOOHHHH the world is ending, I don't know how to continue.
Just a few % of the urgent questions, are things not depending on the asker. It maybe is not right, that innocent people pays for the errors of the others...
but as you ask to be understood in your hurry, this is to make you understand the other side. And the reason for some comments.
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
|
|
|
|
|
|
Have you tried searching google?
http://www.google.com/search?hl=en&q=c+source+code+fft&btnG=Search
Or even a website where there are many articles using code?
http://www.codeproject.com/info/search.asp then type in fft. Lot's of articles there...
Iain.
|
|
|
|
|
Thanks for replying.
I am really very thankful to you all.
|
|
|
|
|
raavn wrote: Can please anyone give me the code in vc++ to calculate FFT?
Nope.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
|
|
|
|
|
hi all,
I have a struct define as follows, defines on the 32bit machine.
<br />
struct pac_cont <br />
{<br />
unsigned int des_list; <br />
unsigned int mem_ID; <br />
unsigned char dm_con; <br />
unsigned char ser_ID; <br />
unsigned short act; <br />
};<br />
This is one of very important part of my application, and I want to keep this structure as it is on any windows system without any issue. So I think it is better to use Windows Data Types. I defined it as follows.
<br />
struct pac_cont<br />
{<br />
DWORD32 des_list; <br />
DWORD32 mem_ID; <br />
CHAR dm_cont; <br />
CHAR ser_ID; <br />
SHORT act; <br />
};<br />
Is it correct.
I appreciate your help all the time...
Eranga
|
|
|
|
|
Surely this is going to depend on how your headers typedef them, specifically winnt.h and basetsd.h, and how your compiler interprets the inbuilt types? Once your code is compiled the windows system on which your code is used wont make any difference. Even if you change the structure as you propose and use it with a 32bit compiler and then later port your code to a 64 bit compiler, you will still have to check that the typedefs havent changed and that the inbuilt types are the same as before, also you will have to check that default structure packing hasnt changed.
Ohh and current headers "typedef short SHORT;" so your act member has changed type already.
|
|
|
|
|
Roger Broomfield wrote: Ohh and current headers "typedef short SHORT;" so your act member has changed type already.
I'm not clear what you say.
I appreciate your help all the time...
Eranga
|
|
|
|
|
unsigned short != short
so...
unsigned short != SHORT
so...
you have already change the type of the datas using SHORT
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
|
|
|
|
|
That mean, I can't change unsigned short act; as SHORT act;
Ok, I think I have to read more about this.
I appreciate your help all the time...
Eranga
|
|
|
|
|
You can, but you will already have a change of the typ. If you DO need a unsigned short... then you can not use SHORT. At least that is what I guess after reading Roger's answer
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
|
|
|
|
|
Hmmm,
Anyhow I have to use unsigned char, to keep the struct variables sizes. Otherwise the application gives wrong output.
I appreciate your help all the time...
Eranga
|
|
|
|
|
then... why dont you make your own typedef? I think unsigned short is standard and portable to all platforms. About the other types... read the answers below, they speak with more knowledge than me
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
|
|
|
|
|
There is no such thing as Windows Data Types.
There are only the c++ data types (when working in c++ ) which are
char, short, int, long, long long. All of them can be signed, unsigned or undefined (which means signed).
char = 1 byte ( 8 bit)
short = 2 byte (16 bit)
long = 4 byte (32 bit)
long long = 8 byte (64 bit)
int = natural size of adressing on 32 bit platforms this will be 4 byte. on other platforms this could be smaller or larger. Alsoo this size can change from compiler to compiler. Apperantly MS has defined that a int will always be 32 bit.
From basetsd.h
typedef unsigned int ULONG32, *PULONG32;
typedef unsigned int DWORD32, *PDWORD32;
When using struct especialy use known size type, which means never use int! That way this piece of code can work cross-platform, cross-compiler.
codito ergo sum
|
|
|
|
|
Yep, thats what I really want. I want to use this code on any Windows platform without any use, but the develop based on 32 bit system.
BadKarma wrote: There is no such thing as Windows Data Types.
Say I have two variables,
<br />
int32 i = 10;<br />
<br />
DWORD32 j = 12;<br />
Can I use both i and j on Windows?
My answer is "yes"
Can I use both i and j on Linux?
My answer is "no". Because DWORD32 is a Windows Data Type
Is that correct.
I appreciate your help all the time...
Eranga
|
|
|
|
|
Eranga Thennakoon wrote: My answer is "no". Because DWORD32 is a Windows Data Type
Is that correct.
No.
I Repeat :
BadKarma wrote: There is no such thing as Windows Data Types.
DWORD32 is typedefed as an unsigned 32bit integer. This means one thing: the compiler treats the variables the same. You can simply make your own aliasses to known types, like this:
typedef unsigned long MYLONG;
DWORD32 is defined in basetds.h as
typedef unsigned int DWORD32; this means you can either use:
struct A
{
unsigned int data;
}; or
struct A
{
DWORD32 data;
}; there will be no difference for the compiler.
This means that you should be able to use this struct also on a unix compiler. However MS has set the size of theire int to be fixed 4 bytes (IMHO a mistake). So this could break your cross-platform, cross-compiler compatibility. Use a long instead of an int. It is always better to use the full names of the datatypes then the Typedefed ones.
codito ergo sum
|
|
|
|
|
DWORD32 is a datatype typedefed (or preprocessor-defined) in Windows.
In linux, you may or may not have those types defined.
So, the best thing you could do is add a header to your code where you define the types you need for every platform you support.
Let's think the unthinkable, let's do the undoable, let's prepare to grapple with the ineffable itself, and see if we may not eff it after all. Douglas Adams, "Dirk Gently's Holistic Detective Agency"
|
|
|
|
|
You're still missing a pretty obvoious point.
int 32 = 10;
DWORD32 j = 32;
Look at the definition for DWORD32, and you'll end up with the keyword unsigned.
Try
int32 i = -10;
DWORD32 j = -32;
As for the structure sizes, BadKarma already told you the definition of them.
The only thing that hasn't been fully explained is packing sizes.
Compilers usually space out variables in a structure to make it easier to address them. So the individual variables of your structure may have the same size, but you'll have gaps in between them.
Do a search for
#pragma pack (push, 1)
and
#pragma pack (pop)
for more detail.
Iain.
in a program and see the results.
|
|
|
|
|
Oops, sorry about that, I got the point. Thank you all.
I appreciate your help all the time...
Eranga
|
|
|
|
|
Hi,
While opening one of the VC++ projects containing Microsoft chart control i am getting an error stating that i do not have a design time license for Activex. I have Microsoft Visual C++ 6.0
Do we need a seperate license for using the Activex in VC++. Or do we have a patch for the same. How can i get the same?
Anshu
|
|
|
|
|
Have you the latest service pack installed?
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
|
|
|
|
|
Can i know what is the latest service pack for VC++ 6.0 and from where can i get the same??
|
|
|
|