Eu enfrentei o problema - eu tenho o código C da biblioteca de otimização, e ele aceita ponteiro para função como um dos argumentos. Então, anteriormente eu usei SWIG para gerar o wrapper Tcl para funções C, mas neste caso eu preciso chamar a função Tcl de C. Cada vez que o retorno de chamada é invocado, ele calcula os valores das funções com parâmetros particulares como seus argumentos. Eu quero chamar o procedimento Tcl para isso, e isso deve ser feito dentro do mesmo interpretador que eu chamo o procedimento de otimização C, e então retorno os dados de volta para o programa C.
Descobri que não é possível com SWIG sem modificar o código-fonte C e alguns hacks de typemaps. Quais são as outras opções? Verifiquei Critcl, mas lá novamente tenho que modificar e reordenar o código-fonte C. A única opção viável que vejo agora é o uso direto da API Tcl C. Há alguma outra maneira de fazer isso? Obrigado.