Ok. So why do I get a segfault on linux and a crash on windows ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void pddplink_setup(void) { t_symbol *dirsym; pddplink_class = class_new(gensym("pddplink"), (t_newmethod)pddplink_new, (t_method)pddplink_free, sizeof(t_pddplink), CLASS_NOINLET | CLASS_PATCHABLE, A_GIMME, 0); class_addanything(pddplink_class, pddplink_anything); class_setwidget(pddplink_class, &pddplink_widgetbehavior); pddplinkbox_class = class_new(gensym("pddplink"), 0, (t_method)pddplink_free, sizeof(t_pddplink), 0, A_GIMME, 0); class_addbang(pddplinkbox_class, pddplink_bang); class_addanything(pddplinkbox_class, pddplink_anything); class_addmethod(pddplinkbox_class, (t_method)pddplink_click, gensym("click"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, 0); dirsym = pddplink_class->c_externdir; /* FIXME */ sys_vgui("source {%s/pddplink.tcl}\n", dirsym->s_name); } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ? Mensaje telepatico asistido por maquinas. On 12/10/19 7:45 PM, Christof Ressi wrote: > > Is this: "A_FLOAT" forbidden? > I'm not sure what you mean exactly, but A_FLOAT is an atom type, so > it's 100% unrelated to single/double precision. > *Gesendet:* Dienstag, 10. Dezember 2019 um 23:37 Uhr > *Von:* "Lucas Cordiviola" <lucard...@hotmail.com> > *An:* "pd-dev@lists.iem.at" <pd-dev@lists.iem.at> > *Betreff:* Re: [PD-dev] Double precision externals extensions. > > Is this: "A_FLOAT" forbidden? > > ~~~~~ > > void pddplink_setup(void) > > { > > t_symbol *dirsym; > > pddplink_class = class_new(gensym("pddplink"), > > (t_newmethod)pddplink_new, > > (t_method)pddplink_free, > > sizeof(t_pddplink), > > CLASS_NOINLET | CLASS_PATCHABLE, > > A_GIMME, 0); > > class_addanything(pddplink_class, pddplink_anything); > > class_setwidget(pddplink_class, &pddplink_widgetbehavior); > > pddplinkbox_class = class_new(gensym("pddplink"), 0, > > (t_method)pddplink_free, > > sizeof(t_pddplink), 0, A_GIMME, 0); > > class_addbang(pddplinkbox_class, pddplink_bang); > > class_addanything(pddplinkbox_class, pddplink_anything); > > class_addmethod(pddplinkbox_class, (t_method)pddplink_click, > > gensym("click"), > > A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, 0); > > dirsym = pddplink_class->c_externdir; /* FIXME */ > > sys_vgui("source {%s/pddplink.tcl}\n", dirsym->s_name); > > } > > ~~~~~ > > Mensaje telepatico asistido por maquinas. > On 12/10/19 7:30 PM, Lucas Cordiviola wrote: > > I get the segfault on linux (it also crashes Pd-double) > > ~~~~~~~~~~~ > > Program received signal SIGSEGV, Segmentation fault. > 0x00007ffff6170e93 in pddplink_setup () > from > > /home/lucarda/Desktop/luclibdep/00-lucarda-external-dep/out64single/lucdep/liblucdep.so > > ~~~~~~~~~~~~~~~ > > > :) > > > Mensaje telepatico asistido por maquinas. > > On 12/10/19 7:06 PM, IOhannes m zmölnig wrote: > > On 12/10/19 10:48 PM, Christof Ressi wrote: > > I'm also interested in how this works. The following > solution popped up in my head: compile the object twice, > one time with -DPD_FLOATSIZE=32 and another time with > -DPD_FLOATSIZE=64, with different setup functions based on > -DPD_FLOATSIZE, then link it with a third file which > exports the "real" setup function (which calls the other > two private setup functions). > > that's about the idea. > > gdsa r > IOhannes > > > _______________________________________________ > Pd-dev mailing list > Pd-dev@lists.iem.at > https://lists.puredata.info/listinfo/pd-dev > > _______________________________________________ Pd-dev mailing list > Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev > > _______________________________________________ > Pd-dev mailing list > Pd-dev@lists.iem.at > https://lists.puredata.info/listinfo/pd-dev _______________________________________________ Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev