. But It's wall clock, I'm not sure that I can estimate performance by this way, besides, I need approach which will allow to measure time of each function which I choose. I've heard that there is approach to use CPU-time.
For high accuray difference time measurements with Linux use clock_gettime[^] with timer ID CLOCK_MONOTONIC or CLOCK_PROCESS_CPUTIME_ID. This requires including time.h and linking with the real time library librt (link option -lrt).
Yeah. There is such approach like, count the number of ticks to estimate performance. I do not think that it's panacea.
Richard MacCutchan and Jochen Arndt also correct.
But I guess that you mean universal and independent implementation version. Look here.
I am an innocent bystander of a discussion about how #include directive is handled in IDE.
The IDE in question uses proprietary file "main" name extension (still a text file) and processes #include <header.h> and #include "local_header.h" in that file just fine.
However, when the local_header.h file has <b>another #include <header_1.h></b> in it the compiler "does not see that". That is basically what people who "knows / developed" the IDE are saying.
Including another local file in first local file such as #include "local_header_1.h" is "seen / processed " by IDE.
I was under the impression that #include <file.h > tells the OS to find the file "anywhere" and #include "file.h" tells the OS to search only current / parent directory.
This variant is used for system header files. It searches for a file named file in a standard list of system directories.
This variant is used for header files of your own program. It searches for a file named file first in the directory containing the current file, then in the quote directories and then the same directories used for <file>.
A compiler is not an IDE. An IDE is a front-end to a compiler and it should follow the same rules as the compiler (and pre-processor in this case). If the IDE does not, then it is broken and must be fixed.
Obviously I got the compiler mixed up , so here is the way I view the whole mess.
To get from idea to running code I see these basic blocks
Operating system - with environment configuration
Development application (IDE )
Main file .*ino
"System " includes - example <stdio.h>
IDE "libraries" - example <LiquidCrystal.h>
Local includes - example "MyClass.h"
Compiler / linker (preprocessor)
I think I need to take a look how the compiler handles / finds the path to each include.
I can see if local includes are in SAME directory as the x.ino file it works fine.
But the "system" or "library" includes path are different and that why if fails.
But I want to write code and not troubleshoot the IDE.
Maybe I should use a different IDE.
But I want to write code and not troubleshoot the IDE.
There is nothing to troubleshoot. Whether you use the IDE or not, the issues are the same. The compiler needs to know the paths of any directories which contain header files that you wish to include in your compilations. The linker needs to know the paths of any directories which contain libraries that are referenced by your project. When you install Visual Studio it sets a default set of both, which gives the paths to all the default library components. If you create a project that uses other headers and libraries then you need to add those paths, and the library names, using the Project Properties link in Solution Explorer. If you want to do it without using the IDE then it is much more hard work and you would probably need to set up some complex batch files, or learn how to use Make: something that is not for the fainthearted.
I'll take wild guess what you are going to say...on better not...Anything after ONE file is a challenge.
Negative. I was just trying to narrow down the problem a bit. The Arduino IDE uses the avr-gcc compiler. That compiler's preprocessor, like others, has a list of directories it will search to resolve #include directives. This is usually the -I command-line switch.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
Hi i am developing an application CListCtrl based, which can open more files listed inside, to do this i did thread for every file will be clicked, the problem is when i close a file i'd like to do some check operations on file, but using WaitForMultipleObjects it wait first i close all files and then perform the operations, with WaitForSingleObjects it wait only for first file and ignore the others.
I'd like so:
1) i open the file1.pdf - the program wait.
2) i open the file2.pdf - the program wait.
3) i close the file "file1.pdf" - the program perform operations on file1 (the file2.pdf is waiting)
open 3 pdf with WaitForMultipleObjects(Array.GetCount(), Array.GetData(), FALSE, INFINITE);
and after user modifed pdf i need to save and delete from TMP folder.
if i use FALSE like i show you first i obtain the right signaled file number but the file was deleted without open becouse WaitForMultipleObjects do not block the execution maybe becouse the acrobat is already loaded
Giovanni they already explained to you that WaitForSingleObjects returns with the index of the event in the array that has been set.
When you get it simply inspect the return value, identify the file and execute the operations sequential to file closure.
Then remove the event from the array then repeat the WaitForSingleObjects with one element less in array. Repeat it until there are no more events in the array.
I have tried for all day and i have always the same for first file is all ok and from second the system do not wait, becouse my english is not perfect like yours i luckly found an user response to show you so i can be more specific:
"What happens depends on the application that is registered to open PDF or JPG files. If you open the documents in an SDI application, then every CreateProcess() call returns a process handle for an application, which you can wait for - this will return when the application editing the document closes.
If however an application is limited to a single instance, then every further call will return as soon as the new instance has passed the data to the first instance (which will usually open the document in a new frame), and then has exited. I think that is what happens in your case, probably you are using Acrobat Reader to open the PDF files"
The problem for me is clear the question is: it's possibile manage this problem using some workaround?
Last Visit: 18-Nov-19 10:59 Last Update: 18-Nov-19 10:59