Puedes Usar Golf como un Framework Web para C

Descubre cómo usar Golf en modo extendido para integrar código C en aplicaciones web de manera eficiente y segura, con ejemplos prácticos y configuración en Nginx.

7 mar 2025 • 2 min de lectura • Equipo Q2BSTUDIO

Empresa-Software-Apps

Golf tiene un modo extendido que permite utilizar código en C directamente. Normalmente, esto no está permitido, pero si usas la instrucción extended-mode en tu archivo .golf, podrás llamar código en C desde él.

En modo extendido, Golf actúa como un framework web para el lenguaje de programación C, permitiendo una mayor flexibilidad en el desarrollo de aplicaciones web basadas en este lenguaje.

A continuación, presentamos un ejemplo de cómo usar Golf como un framework web para C, creando una aplicación sencilla que calcula el factorial de un número y expone esta funcionalidad a través de una aplicación web.

Para crear la aplicación, primero generamos la estructura de archivos necesaria:

mkdir -p c-for-web

cd c-for-web

Luego, creamos una nueva aplicación en Golf:

gg -k fact

Después, guardamos el siguiente código en un archivo llamado calc-fact.golf. Este archivo define el servicio web que interactuará con los clientes y llamará a la función en C:

extended-mode

%% /calc-fact public

get-param par

string-number par to num

set-number result

call-extended factorial(num, &result)

@Factorial de <<p-out par>> es <<p-num result>>

%%

Luego, creamos un archivo factorial.c con la implementación de la función en C:

#include 'golf.h'

void factorial(gg_num f, gg_num *res) {

*res = 1;

gg_num i;

for (i = 2; i <= f; i++) {

*res *= i;

}

}

También agregamos un archivo factorial.h para declarar la función utilizada en el código de Golf:

void factorial(gg_num f, gg_num *res);

Para compilar y ejecutar el servidor utilizamos:

gg -q

Iniciamos el servidor con:

mgrg fact

Podemos probar la aplicación desde la línea de comandos:

gg -r --req=/calc-fact/par=12 --exec --service

Esto devuelve:

Factorial de 12 es 479001600

Para probarlo en un navegador web, configuramos Nginx, agregando la siguiente línea en el archivo de configuración:

location /fact/ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:///var/lib/gg/fact/sock/sock; }

Reiniciamos Nginx para aplicar los cambios:

sudo systemctl restart nginx

Accediendo a la URL:

https://127.0.0.1/fact/calc-fact/par=8

El resultado será:

Factorial de 8 es 40320

En Q2BSTUDIO, brindamos soluciones tecnológicas avanzadas y desarrollo de software especializado en diversas plataformas y lenguajes, facilitando la implementación de frameworks como Golf para la optimización de aplicaciones web en C. Nuestro equipo de expertos está preparado para ayudarte a desarrollar soluciones robustas y eficientes adaptadas a las necesidades de tu negocio.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat