Hola gente! Alguien estudiando haskell? Si lo estan mandemen un mp para intercambiar conocimientos! Saludos!
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú #include <iostream>
#include <thread>
using namespace std;
class FOO
{
public:
void do_something ()
{
cout<<"cout somethin\n";
}
};
int main ()
{
FOO foo;
std::thread t (&FOO::do_something,&foo);
t.join();
}
valgrind --tool=drd ./oncordia
==6218== drd, a thread error detector
==6218== Copyright (C) 2006-2010, and GNU GPL'd, by Bart Van Assche.
==6218== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==6218== Command: ./oncordia
==6218==
cout somethin
==6218== Conflicting store by thread 1 at 0x05b5d050 size 8
==6218== at 0x418E62: std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >::~_Impl() (in /home/ezequiel/projects/oncordia/build/oncordia)
==6218== by 0x419099: std::_Sp_destroy_inplace<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >::operator()(std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >*) const (in /home/ezequiel/projects/oncordia/build/oncordia)
==6218== by 0x418EDC: std::_Sp_counted_deleter<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >*, std::_Sp_destroy_inplace<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, (__gnu_cxx::_Lock_policy)2>::_M_dispose() (shared_ptr_base.h:351)
==6218== by 0x4180B7: std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() (shared_ptr_base.h:146)
==6218== by 0x417F62: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() (shared_ptr_base.h:551)
==6218== by 0x417E99: std::__shared_ptr<std::thread::_Impl_base, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() (shared_ptr_base.h:751)
==6218== by 0x417EB3: std::shared_ptr<std::thread::_Impl_base>::~shared_ptr() (shared_ptr.h:93)
==6218== by 0x418037: std::thread::thread<void (FOO::*)(), FOO*>(void (FOO::*&&)(), FOO*&&) (thread:135)
==6218== by 0x417CCB: main (main.cpp:18)
==6218== Address 0x5b5d050 is at offset 32 from 0x5b5d030. Allocation context:
==6218== at 0x4C2AAB7: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_drd-amd64-linux.so)
==6218== by 0x418A5F: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (new_allocator.h:92)
==6218== by 0x418846: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::_Sp_make_shared_tag, std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >*, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > const&, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (shared_ptr_base.h:517)
==6218== by 0x418775: std::__shared_ptr<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::_Sp_make_shared_tag, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > const&, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (shared_ptr_base.h:986)
==6218== by 0x4186C1: std::shared_ptr<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >::shared_ptr<std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::_Sp_make_shared_tag, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > const&, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (shared_ptr.h:313)
==6218== by 0x4185A3: std::shared_ptr<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > std::allocate_shared<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > const&, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (shared_ptr.h:531)
==6218== by 0x418360: std::shared_ptr<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > std::make_shared<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (shared_ptr.h:547)
==6218== by 0x4181BF: std::shared_ptr<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > std::thread::_M_make_routine<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (thread:194)
==6218== by 0x418005: std::thread::thread<void (FOO::*)(), FOO*>(void (FOO::*&&)(), FOO*&&) (thread:135)
==6218== by 0x417CCB: main (main.cpp:18)
==6218== Other segment start (thread 2)
==6218== (thread finished, call stack no longer available)
==6218== Other segment end (thread 2)
==6218== (thread finished, call stack no longer available)
==6218==
==6218== Conflicting store by thread 1 at 0x05b5d050 size 8
==6218== at 0x417EC6: std::thread::_Impl_base::~_Impl_base() (in /home/ezequiel/projects/oncordia/build/oncordia)
==6218== by 0x418E74: std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >::~_Impl() (in /home/ezequiel/projects/oncordia/build/oncordia)
==6218== by 0x419099: std::_Sp_destroy_inplace<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >::operator()(std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >*) const (in /home/ezequiel/projects/oncordia/build/oncordia)
==6218== by 0x418EDC: std::_Sp_counted_deleter<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >*, std::_Sp_destroy_inplace<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, (__gnu_cxx::_Lock_policy)2>::_M_dispose() (shared_ptr_base.h:351)
==6218== by 0x4180B7: std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() (shared_ptr_base.h:146)
==6218== by 0x417F62: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() (shared_ptr_base.h:551)
==6218== by 0x417E99: std::__shared_ptr<std::thread::_Impl_base, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() (shared_ptr_base.h:751)
==6218== by 0x417EB3: std::shared_ptr<std::thread::_Impl_base>::~shared_ptr() (shared_ptr.h:93)
==6218== by 0x418037: std::thread::thread<void (FOO::*)(), FOO*>(void (FOO::*&&)(), FOO*&&) (thread:135)
==6218== by 0x417CCB: main (main.cpp:18)
==6218== Address 0x5b5d050 is at offset 32 from 0x5b5d030. Allocation context:
==6218== at 0x4C2AAB7: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_drd-amd64-linux.so)
==6218== by 0x418A5F: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (new_allocator.h:92)
==6218== by 0x418846: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::_Sp_make_shared_tag, std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >*, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > const&, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (shared_ptr_base.h:517)
==6218== by 0x418775: std::__shared_ptr<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::_Sp_make_shared_tag, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > const&, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (shared_ptr_base.h:986)
==6218== by 0x4186C1: std::shared_ptr<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >::shared_ptr<std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::_Sp_make_shared_tag, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > const&, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (shared_ptr.h:313)
==6218== by 0x4185A3: std::shared_ptr<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > std::allocate_shared<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > const&, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (shared_ptr.h:531)
==6218== by 0x418360: std::shared_ptr<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > std::make_shared<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (shared_ptr.h:547)
==6218== by 0x4181BF: std::shared_ptr<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > std::thread::_M_make_routine<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (thread:194)
==6218== by 0x418005: std::thread::thread<void (FOO::*)(), FOO*>(void (FOO::*&&)(), FOO*&&) (thread:135)
==6218== by 0x417CCB: main (main.cpp:18)
==6218== Other segment start (thread 2)
==6218== (thread finished, call stack no longer available)
==6218== Other segment end (thread 2)
==6218== (thread finished, call stack no longer available)
==6218==
==6218== Conflicting load by thread 1 at 0x05b5d060 size 8
==6218== at 0x417F4C: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() (shared_ptr_base.h:550)
==6218== by 0x417E99: std::__shared_ptr<std::thread::_Impl_base, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() (shared_ptr_base.h:751)
==6218== by 0x417EB3: std::shared_ptr<std::thread::_Impl_base>::~shared_ptr() (shared_ptr.h:93)
==6218== by 0x417EDC: std::thread::_Impl_base::~_Impl_base() (in /home/ezequiel/projects/oncordia/build/oncordia)
==6218== by 0x418E74: std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >::~_Impl() (in /home/ezequiel/projects/oncordia/build/oncordia)
==6218== by 0x419099: std::_Sp_destroy_inplace<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >::operator()(std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >*) const (in /home/ezequiel/projects/oncordia/build/oncordia)
==6218== by 0x418EDC: std::_Sp_counted_deleter<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >*, std::_Sp_destroy_inplace<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, (__gnu_cxx::_Lock_policy)2>::_M_dispose() (shared_ptr_base.h:351)
==6218== by 0x4180B7: std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() (shared_ptr_base.h:146)
==6218== by 0x417F62: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() (shared_ptr_base.h:551)
==6218== by 0x417E99: std::__shared_ptr<std::thread::_Impl_base, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() (shared_ptr_base.h:751)
==6218== by 0x417EB3: std::shared_ptr<std::thread::_Impl_base>::~shared_ptr() (shared_ptr.h:93)
==6218== by 0x418037: std::thread::thread<void (FOO::*)(), FOO*>(void (FOO::*&&)(), FOO*&&) (thread:135)
==6218== Address 0x5b5d060 is at offset 48 from 0x5b5d030. Allocation context:
==6218== at 0x4C2AAB7: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_drd-amd64-linux.so)
==6218== by 0x418A5F: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (new_allocator.h:92)
==6218== by 0x418846: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::_Sp_make_shared_tag, std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >*, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > const&, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (shared_ptr_base.h:517)
==6218== by 0x418775: std::__shared_ptr<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::_Sp_make_shared_tag, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > const&, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (shared_ptr_base.h:986)
==6218== by 0x4186C1: std::shared_ptr<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >::shared_ptr<std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::_Sp_make_shared_tag, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > const&, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (shared_ptr.h:313)
==6218== by 0x4185A3: std::shared_ptr<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > std::allocate_shared<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >, std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > >, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::allocator<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > const&, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (shared_ptr.h:531)
==6218== by 0x418360: std::shared_ptr<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > std::make_shared<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >, std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (shared_ptr.h:547)
==6218== by 0x4181BF: std::shared_ptr<std::thread::_Impl<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> > > std::thread::_M_make_routine<std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)> >(std::_Bind_result<void, std::_Mem_fn<void (FOO::*)()> ()(FOO*)>&&) (thread:194)
==6218== by 0x418005: std::thread::thread<void (FOO::*)(), FOO*>(void (FOO::*&&)(), FOO*&&) (thread:135)
==6218== by 0x417CCB: main (main.cpp:18)
==6218== Other segment start (thread 2)
==6218== (thread finished, call stack no longer available)
==6218== Other segment end (thread 2)
==6218== (thread finished, call stack no longer available)
==6218==
==6218==
==6218== For counts of detected and suppressed errors, rerun with: -v
const OIS::MouseState &ms=mMouse->getMouseState(); //Retrona un const OIS::MuseState &
ms.width=width;
ms.height=height;
#include <stdio.h>
int main()
{
int (*pfn)();
char codigo[]={
0x55,//0
0x48,//1
0x89,//2
0xe5,//3
0xb8,//4
0x01,//5 <-- esto lo voy a cambiar.
0x00,//6
0x00,//7
0x00,//8
0xc9,//9
0xc3
};
pfn = &codigo[0]; //ERROR, ESTA LINEA ME DA ERROR
printf("Valor retornado por f antes ... f() = %d\n",pfn());
codigo[5] = 0x10;
printf("Valor retornado por f despues f() = %d\n",pfn());
return 0;
}
union casa{
int direccion;
char nombre [34];
double pisos;
} casa;
int main() {
//no importa por que puse suma ;)
cout<<"suma de longitudes: "<< sizeof casa.direccion<<" "<<sizeof casa.nombre<<" "<<sizeof casa.pisos<<endl;
cout<<"Longitud total: "<<sizeof casa;
return 0;
}