elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Librería
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: Librería  (Leído 11,217 veces)
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Librería
« en: 23 Mayo 2010, 00:33 am »

ATS.H

ATS es un proyecto de librería para el lenguaje de programación C. ATS significa "Alternative to Standard" (Alternativa al estándar) y tiene como propósito recoger algunas funciones útiles y sencillas, pero pesadas a la hora de ser escritas.



Colaboradores:

  • Creador: GNU_López (Sergio López)
  • Colaborador: nicolas_cof
  • Colaborador: Didacso
  • Colaborador: eagle17
  • ...

Discursiones sobre Funciones y procedimientos:

atsInNum() http://foro.elhacker.net/programacion_cc/atsinnum-t295749.0.html

/**********************************************/

Si quieres colaborar, envíame un MP y te añadiré a la lista.



¿Qué va a ser ats?

Mi idea es crear un archivo de cabecera libre para el lenguaje de programación C, que ofrezca varias funciones nuevas, y la sustitución de algunas estándar para poder darlas un mayor uso. Cualquier persona puede colaborar, tanto aportando ideas, como aportando código, corrigiendo fallos, escribiendo archivos de ayuda, etc.

¿Qué funciones podré usar?

(Esta explicación va a variar dependiendo del desarrollo de la cabecera) Lo ideal es ofrecer una lista de funciones matemáticas, y de entrada y salida de datos.



Página en SourceForge:

http://atshead.sourceforge.net/

Prototipo:

http://sourceforge.net/projects/atshead/files/prototype.c/download



Especificaciones de Diseño: (Escribiendo...)

En este documento es especifica la forma en la que se debe escribir funciones
para la cabecera ats. Esto es necesario para que no se mezclen todos los estilos
de programación de todos los colaboradores que escriban código; De esta forma,
se mantendrá un orden interno en cuanto a la estructura.

1. Comentarios

* Se debe especificar en cada prototipo de función, con un comentario, la utilidad
  de la misma. En caso de ser una función muy grande/usada dentro de la cabecera,
  el comentario debe especificar también la forma de usar los parámetros, el trabajo
  interno, y los valores de retorno.

* Es aconsejable también comentar en las variables muy usadas o importante, explicado
  para que las usamos.

* Es conveniente también que los comentarios estén en inglés, pues es el idioma mas usado
  en la programación, aunque, no estaría de mas que estuviera tanto en Castellano como en Inglés,
  siendo aśi de fácil lectura para un grupo mas grande de usuarios.

2. Identificadores

* Es conveniente usar identificadores que no puedan ser usados por otras librerías, por
  ello es recomendable seguir este modelo:

- Ejemplo de prototipo de función:
Código
  1.        int ats_pedir_enteros(int a, int b)

  Nótese el uso de 'ats_' al principio, y que el nombre de la función describe también el
  funcionamiento de la misma.

3. Funciones

* Todas las funciones usadas deben ser estándar, así como tienen optimizadas para ser usadas
  en la mayor cantidad de compiladores/sistemas. Es necesario no usar funciones como system
  o fflush.

4. Diseño

* La cabecera tendrá la siguiente forma:

Inicio
|
|_ Cabeceras estándar (#include...)
|_ Definidos (#define...)
|
|
|_ Preámbulo
|
|
|_ Prototipos de función
|_ Comentarios de funciones importantes
|
|
|_ Funciones
|
|
|_ Referencia para programadores (Explicación sencilla sobre el uso de ats)
|
|_ EOF

5. Algunos consejos

* Es conveniente no usar, bajo ningún concepto, bucles infinitos o descontrolados,
  así como intentar optimizar el código al máximo,de tal forma que intentemos ahorrar
  código y mejorar la funcionalidad. Así mismo, es importante intentar no usar recursividad,
  identificadores de variables repetidos, o funciones con semejante funcionamiento.

  Escrito y corregido por: Sergio L, Nicolás.



Proyecto


Preámbulo de la cabecera:

Citar
/*
* ATS.h
* Alternative to Standard Head
*
* ats es una cabecera libre (Bajo licencia GPLv3)
* la cual provee varias funciones. La idea
* principal, es que estas funciones sean matemáticas
*  y de entrada/salida, bajo plataformas
* GNU/Linux.
*
* Se puede seguir su desarrollo en elhacker.net
* y en sourceforge.net.
*
* Creada inicialmente por: Sergio López
*
* sergiolopezsanz@hotmail.es
*
* http://atshead.sourceforge.net/
*
* 24 de Mayo, 2010
*
*/



El contenido del post puede variar, acorde al desarrollo de la cabecera ATS. Los archivos de ATS están bajo licencia pública GPLv3.


« Última modificación: 5 Junio 2010, 06:39 am por Daemon Freedom » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Librería
« Respuesta #1 en: 23 Mayo 2010, 01:29 am »

¿Funciones de qué tipo?


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: Librería
« Respuesta #2 en: 23 Mayo 2010, 01:48 am »

¿Funciones de qué tipo?

últimamente estoy necesitando muchas de estilo entrada de datos(Sobretodo funciones con cadenas :-\ ) Y pensé en hacerme una buena librería para no tener que reescribir código tantas veces. Es solo un ejemplo, supongo que lo bueno sería ver que cosas suele querer la gente, e intentar adaptarlo..
En línea

nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: Librería
« Respuesta #3 en: 24 Mayo 2010, 04:22 am »

Mmmmmm parece interesante la idea GNU López

Yo dejo mi primer aporte! Lo que si mas o menos tendrias que tirar los paremetros de las funciones y el objetivo de cada una de las que piensas incluir en dicha libreria para que las podamos programar :P

Código:
void
cleanstdin()
{
    int ch;

    while ( ( ch = fgetc( stdin ) ) != EOF && ch != '\n' );
}

Salu10.

En línea

Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: Librería
« Respuesta #4 en: 24 Mayo 2010, 04:41 am »

Primero y principal hay que aclarar varias cosas:

Lo primero es quienes van a participar, de lo contrario cualquiera va a llegar y a poner un código sin siquiera tal vez conocer los requisitos para poner un código. Seria un desorden.

Por otro lado, respecto de los requisitos, lo ideal es que cada usuario que codifique su función haga como mínimo una documentación de como se utiliza, sus parámetros y su valor de retorno.

Otra cosa importante es que las funciones estén testeadas y elaboradas. Control de parámetros por ejemplo, valores de retorno útiles y demás. Nada de funciones void copiarcad y un for, por si va a ser así la verdad no tiene ningún sentido.

Como bien dijo Nico, hay que dejar en claro cual es el objetivo general de las funciones, para asi cada uno puede ir viendo que hacer y que no.

No se si tendré tiempo de codificar algo, tal vez el fin de semana. Igualmente pasare cada tanto para revisar los códigos. ;D

Saludos!
En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: Librería
« Respuesta #5 en: 24 Mayo 2010, 04:47 am »

Cita de: Littlehorse
Primero y principal hay que aclarar varias cosas:

Lo primero es quienes van a participar, de lo contrario cualquiera va a llegar y a poner un código sin siquiera tal vez conocer los requisitos para poner un código. Seria un desorden.

Por otro lado, respecto de los requisitos, lo ideal es que cada usuario que codifique su función haga como mínimo una documentación de como se utiliza, sus parámetros y su valor de retorno.

Otra cosa importante es que las funciones estén testeadas y elaboradas. Control de parámetros por ejemplo, valores de retorno útiles y demás. Nada de funciones void copiarcad y un for, por si va a ser así la verdad no tiene ningún sentido.

 ;D Perdon me entusiasme!!!

Bueno de mas esta decir que me apunto para el proyecto...

Salu10.
En línea

@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: Librería
« Respuesta #6 en: 24 Mayo 2010, 20:37 pm »

Bueno, estuve pensado y he llegado a las siguientes conclusiones: Llevar un post en el foro con el source de la librería, llevar adjuntada la documentación de la misma, y las especificaciones de funciones y retornos. A la par, una lista de colaboradores y unas 'normas' para quien quiera aportar o corregir source. Como bien habéis dicho, todo debe estar testeado, y, a ser posible, que las funciones usen cabeceras estándar para poder ser mas portables.

En cuanto al contenido, me gustaría que fuera un sustituto de algunas funciones ya existentes (Matemáticas sobretodo) y algunas funciones de entrada/salida de datos. Claro, esta es mi idea, creo que lo mejor es que fuera de propósito general.

¿Qué os parece? Si os animáis, vamos creando el post con los primeros colaboradores, y vamos trabajando en las normas y tal.
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Librería
« Respuesta #7 en: 24 Mayo 2010, 21:47 pm »

Bueno, estuve pensado y he llegado a las siguientes conclusiones: Llevar un post en el foro con el source de la librería, llevar adjuntada la documentación de la misma, y las especificaciones de funciones y retornos. A la par, una lista de colaboradores y unas 'normas' para quien quiera aportar o corregir source.

¿No esta creado expresamente para esto SourceForge?
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: Librería
« Respuesta #8 en: 24 Mayo 2010, 21:50 pm »

Bueno, estuve pensado y he llegado a las siguientes conclusiones: Llevar un post en el foro con el source de la librería, llevar adjuntada la documentación de la misma, y las especificaciones de funciones y retornos. A la par, una lista de colaboradores y unas 'normas' para quien quiera aportar o corregir source.

¿No esta creado expresamente para esto SourceForge?

No he leído las condiciones, pero me imagino que si XD Pero supongo que la gracia es hacerlo directamente desde el foro. Aún así, SF es muy buena idea.
En línea

Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: Librería
« Respuesta #9 en: 24 Mayo 2010, 22:01 pm »

Lo primero es modificar el post inicial con la lista de colaboradores, los requerimientos para las funciones y los objetivos. Elabora un post explicando mas o menos de que va el tema así la gente se va sumando, si no queda todo en el aire.
Los que se quieran ir sumando hacen un post aqui o envían un pm a GNU.

Cuando todo eso este terminado, pasamos a sourceforge o a cualquier otra. Es mucho mas ordenado así, ya que cuando el hilo se haga muy largo va a ser muy molesto de seguir.
En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Libreria VNC
Programación C/C++
paju1986 0 2,799 Último mensaje 10 Diciembre 2010, 18:54 pm
por paju1986
busco libreria o api
Programación C/C++
rembolso 4 2,804 Último mensaje 8 Febrero 2011, 05:08 am
por Littlehorse
libreria de csprite.h???
Programación C/C++
peterfly 8 4,248 Último mensaje 1 Octubre 2011, 20:35 pm
por peterfly
Libreria GD PHP
PHP
charl1 1 1,583 Último mensaje 22 Septiembre 2012, 16:14 pm
por EFEX
Libreria KPanelHandler
Java
livius 0 1,113 Último mensaje 9 Febrero 2013, 21:53 pm
por livius
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines