[Click] Compile a non-element class in Click
Eddie Kohler
kohler at cs.ucla.edu
Thu Sep 4 09:21:09 EDT 2008
Tushar Soni wrote:
> Well as you mentioned, it is a non-element class. So due to this reason it wont be present in elements.conf file.
Just want to point out that this is incorrect. Non-elements DO appear in
elements.conf.
Eddie
>
> Now your class will be compiled when there is a call to this class. That could for example creating an object of this class.
>
> Say i have non-element class NEC and it is defined in nec.hh and nec.cc. I have an elemental class called EC and it is defined in ec.hh and ec.cc.
>
> /*ec.hh*/
> #ifndef EC_HH
> #define EC_HH
> //include the necessary headers
>
> #include "nec.hh"
>
> CLICK_DECLS
>
> class EC: public Element
> {
> //some code
> NEC _nec_obj,
> //some code
> }
>
>
> CLICK_ENDDECLS
> #endif
>
> /*ec.cc*/
> //include the necessary header
>
> CLICK_DECLS
>
> //your code
>
> CLICK_DECLS
>
> #include "nec.cc" //this is required if you have functions of the class defined in nec.cc (not required if you have inline functions in nec.hh)
>
> EXPORT_ELEMENT(EC)
>
> Well this is how i am using a non-element class for my code. I hope this helps.
>
> Regards,
>
> Tushar
>
>
> Tºüçhé §übt!é
>
>
>
> ----- Original Message ----
> From: Giovanni Di Stasi <giovanni.distasi at unina.it>
> To: Adam Greenhalgh <a.greenhalgh at cs.ucl.ac.uk>
> Cc: click at pdos.csail.mit.edu
> Sent: Thursday, September 4, 2008 11:52:30 AM
> Subject: Re: [Click] Compile a non-element class in Click
>
> On Thursday 04 September 2008 11:40:46 Adam Greenhalgh wrote:
>> Have you tried rebuilding the elements list ?
>>
>> Adam
>>
>> 2008/9/3 Giovanni Di Stasi <gdistasi at gmail.com>:
>>> On Wednesday 03 September 2008 18:34:44 Tushar Soni wrote:
>>>> Hi,
>>>>
>>>> Rename your files to testcompile.hh and testcompile.cc.
>>>> According to the FAQs section:
>>>>
>>>> "Each element class should be written as two C++ source files, FILE.cc
>>>> and FILE.hh."
>>>>
>>>>
>>>> I think this holds true for a normal class as well (which is not an
>>>> element).
>>> Hi,
>>> unfortunately, nothing changes after renaming the header file.
>>> The file name is not present in elements.conf, and is not compiled.
>
>
> Yes, with make elemlist...
More information about the click
mailing list