Visualizzazione dei risultati da 1 a 10 su 12

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da ing82 Visualizza il messaggio
    Pretendo troppo? Qualche link o suggerimento di dove andare a guardare?
    Se poi arriva anche qualche esempio facile fcaile...
    In un file include (libreria.h) non ci va il codice delle funzioni ma solamente la dichiarazione.
    Per quello dovrai usare un file libreria.cpp.

    A parte questo, la domanda di questo thread esattamente qual è? Non riesci a creare una DLL con CB o come si fa a creare una DLL? O come si usa nei programmi? La situazione è un po' confusa, forse per questo non hai avuto suggerimenti ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  2. #2
    Utente di HTML.it L'avatar di ing82
    Registrato dal
    Sep 2014
    Messaggi
    177
    Quote Originariamente inviata da oregon Visualizza il messaggio
    A parte questo, la domanda di questo thread esattamente qual è? Non riesci a creare una DLL con CB o come si fa a creare una DLL? O come si usa nei programmi? La situazione è un po' confusa, forse per questo non hai avuto suggerimenti ...
    Grazie, vedo di chiarire la situazione, che da quando ho iniziato il thread è evoluta.
    Premessa: lavoro nel campo edilizio, più precisamente progettazione strutturale.

    Necessità: creare dei programmi di calcolo personalizzati per automatizzare predimensionamenti, verifiche di elementi strutturali semplici, confronto dei risultati dei programmi di analisi strutturale utilizzati per l'edificio nel suo insieme.
    Molte delle operazioni da fare sono ripetitive, nel senso che mi troverò a doverle sfruttare più volte.

    Dove sono arrivato fino ad ora: man mano che procedo, quando implemento una qualche operazione che so dovrò ripetere altre volte, creo una libreria o la aggiungo ad una libreria che ho già creato, che poi sfrutto (ad essere precisi sfrutterò, perchè sono agli albori) nei programmi che man mano creerò.

    Ulteriore necessità: mi rendo conto che una certa funzione che chiamiamo funzione, messa in libreria.h (la sua implementazione vera e propria è in libreria .cpp) può essere ottimizzata/migliorata o deve essere corretta, senza dover cambiare nulla per quanto riguarda i parametri passati e quello che resituisce.

    Problema: mettiamo che funzione, che è "dentro" libreria.h è utilizzata in programma1, programma2 e programma3. Se vado avanti come sto facendo fino ad ora, dopo aver modificato "funzione", dovrò ricompilare programma1, programma2, programma3.
    Se usassi le dll, questo problema non ci sarebbe, ricompilo la dll, sotituisco la vecchia con la nuova e tutti i programmi che fanno riferimento ad essa restano aggiornati. Direi che mi capiterà abbastanza di frequente di metter mano ad una funzione/libreria, perchè la normativa è in continua evoluzione, perchè aggiungerò la possibilità di verificare con normative diverse, ecc.

    In soldoni cosa non riesco a capire come si fa: non riesco a creare una dll (codeblocks ha le dll tra i tipi di nuovo progetto di default, ma non capisco niente di dove devo andare ad aggiungere le mie funzioni).
    L'altro problema è poi come sfruttare la dll creata da un programma.

  3. #3
    Utente di HTML.it L'avatar di ing82
    Registrato dal
    Sep 2014
    Messaggi
    177
    Quote Originariamente inviata da ing82 Visualizza il messaggio
    In soldoni cosa non riesco a capire come si fa: non riesco a creare una dll (codeblocks ha le dll tra i tipi di nuovo progetto di default, ma non capisco niente di dove devo andare ad aggiungere le mie funzioni).
    L'altro problema è poi come sfruttare la dll creata da un programma.
    Se nessuno ha voglia di fare un esempio, un qualche link dove possa capire che significato hanno tutti quei "comandi predefiniti" che da CodeBlocks per la dll, con quello che ho trovato in giro non sono arrivato a nessuna conclusione (altrimenti non avrei scritto qui...)
    Grazie

  4. #4
    Utente di HTML.it L'avatar di ing82
    Registrato dal
    Sep 2014
    Messaggi
    177
    Accantonato (per ora, la richiesta resta comunque "attiva") il problema delle dll, chiedo aiuto per organizzare in modo efficiente questa serie di programmini di supporto alla mia attività.
    Ricordo che non sono un programmatore, quindi tenete presente che avete a che fare con un ignorante, quindi non date niente per scontato.
    Credevo di conoscere in maniera discreta c++ al momento della pubblicazione del mio primo messaggio, in realtà devo ricredermi.
    Il mio main, è una sequenza infinita di istruzioni, mentre in giro leggo che bisognerebbe cercare di avere dei main più brevi possibili, e per fare questo è necessario ricorrere alle funzioni.
    Poi scopro la comodità delle (o degli?) struct (quindi mi metto a modificare quanto già scritto sfruttando questa caratteristica), poi però scopro l'esistenza delle classi...

    Per evitare questo continuo rimetter mano al codice, vi chiedo consiglio su come organizzare il mio lavoro per non dover ogni volta rimetter mano al codice già scritto.

    Cercherò di spiegare brevemente quali sono le mie esigenze:

    1) decido la normativa di riferimento (ad una norma è associato un metodo di calcolo, in alcuni casi di più)
    Faccio un esempio, per la vecchia normativa italiana, c'era solo il metodo1, poi possibilità di scegliere moetodo1 o metodo2.
    2) a questo punto si sceglie il materiale e ne restano definite le caratteristiche utili ai fini delle verifiche (valori delle resistenze)
    Ad esempio, un certo tipo di calcestruzzo, avrà resistenza 1 col metodo 1, resistenza 2 col metodo 2.
    Va precisato che all'aggiornamento della normativa da parte del legislatore, valore 2 può cambiare, pur rimanendo nell'ambito di metodo2.
    3) si definisce la geometria del problema. Certe geometrie saranno ricorrenti (rettangolo, a T, circolare, ecc)
    4) definizione dei carichi/sollecitazioni.
    Ad esempio, il carico legato a un solaio, si compone di diversi contributi (carico1, carico2, carico3).
    Le sollecitazioni si ricaveranno partendo dai carichi elementari che dovranno essere opportunamente moltiplicati
    per coefficienti che dipendono dalla normativa e dal metodo di calcolo.
    5) Le verifiche possono essere eseguite con opzioni diverse.
    Ad esempio per il calcestruzzo armato, considerare o no la sua resistenza a trazione.

    Sfruttereste le classi per gestire quanto sopra? Oppure è indifferente organizzare il tutto in file .h e .cpp diversi in cui definisco le strutture dati e le funzioni che mi servono?

    Non chiedo "codice scritto in forma pappa pronta", ma semplicemente come suddividereste il problema per poterlo gestire in maniera comoda.

    Ad esempio, secondo voi è meglio definire per ogni materiale una classe diversa per ogni normativa, oppure creata la classe materiale, al suo interno definire quanto serve ad ogni normativa?

    Ad esempio, per il calcestruzzo, in cui ha caratteristiche diverse in normativa1, normativa2 e normativa3,
    è meglio definire tre classi distinte per ciascuna normativa, opppure una sola classe in cui al suo interno definisco poi le tre normative?
    Spero di essermi spiegato.
    Grazie.

    Conoscete inoltre un qualche software che possa aiutare a tenere sotto controllo le funzioni/strutture dati che uno scrive, ma anche i programmi veri e propri ad esempio tramite diagrammi di flusso (se open source li preferisco). Magari CodeBlocks da una mano in questo senso e io non lo so...
    Grazie ancora.

  5. #5
    Utente di HTML.it L'avatar di ing82
    Registrato dal
    Sep 2014
    Messaggi
    177
    Visto il numero di visite e il numero delle risposte, credo che la domanda posta sia troppo generale.
    Cerco di spezzare il problema:

    non riesco a capire la differenza sostanziale che c'è tra programmare usando struct e funzioni e programmare usando le classi, al cui interno definisco ancora eventuali struct (ma che senso ha?) e le funzioni che mi servono (dovrebbero essere i membri della classe).
    Come mai se uso le classi le modifiche diventano gestibili più facilmente (conclusione tratta dal materiale letto per la rete)?

    Se qualcuno avesse anche "pseudo-codice" che dimostra quali sono i vantaggi/svantaggi dell'uso di uno o dell'altra soluzione ne sarei grato, con qualche esempio forse mi sarà più facile capire le differenze.
    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.