Erreurs, bugs, questions - page 594

 
Interesting:

Les développeurs demanderont en tout cas de tout localiser, de créer une application au SR, de joindre un expert et de tout décrire de la manière la plus détaillée possible.

Ce sont les développeurs (vous les connaissez) et les télépathes se reposent aujourd'hui. :)

C'est bon.)) Maintenant je vais le localiser.))

La télépathie n'a rien à voir avec ça. Le fait est que j'ai une telle erreur pour la première fois, et je pensais qu'elle se produisait dans certains cas spécifiques, et je peux au moins conseiller sur le forum dans quels cas cela peut être le cas, et ensuite je vais moi-même régler le problème.

C'est-à-dire que j'aimerais savoir dans quels cas se produit une violation d'accès en écriture (0x-code) et une violation d'accès en lecture (0x-code)? Je n'ai pas touché à ce programme depuis environ un mois. Cela signifie que ce problème peut avoir commencé à se produire après une certaine construction. Peut-être les développeurs ont-ils renforcé les contrôles et doivent-ils maintenant écrire le code plus correctement. Seulement où chercher une erreur dans ~20 000 lignes de code ? )))

 
tol64:

C'est bon.)) Je vais le localiser maintenant.))

La télépathie n'a rien à voir avec ça. Le fait est que j'ai ce genre d'erreur pour la première fois, et je pensais que cela se produisait dans certains cas spécifiques, et je peux au moins suggérer sur le forum, dans quels cas cela peut être, et ensuite je m'en occuperai moi-même.

En d'autres termes, je voudrais savoir dans quels cas se produit une violation d'accès en écriture (0xcode ) et une violation d'accès en lecture (0xcode)? Je n'ai pas touché à ce programme depuis environ un mois. Cela signifie que ce problème a commencé à se produire après une certaine construction. Peut-être les développeurs ont-ils renforcé les contrôles et doivent-ils maintenant écrire le code plus correctement. Seulement où chercher une erreur dans ~20 000 lignes de code ? )))

Essayez de le convertir en C et l'erreur sera trouvée d'elle-même. Et en général - avec de tels projets, c'est la seule façon d'écrire, si vous ne voulez pas avoir de problèmes à l'avenir. Malheureusement, je l'ai compris trop tard moi-même et je suis en train de le réécrire :)
 

Messieurs, veuillez me conseiller sur la manière compacte (il existe peut-être des fonctions) d'identifier la valeur la plus grande/la plus petite d'un des tampons existants ? Il ne s'agit pas seulement d'identifier, mais aussi de déterminer quel est le tampon ayant la valeur la plus grande/la plus petite.

Supposons que nous ayons 4 buffers, alors la chose la plus simple qui nous vient à l'esprit est de comparer d'abord le 1er avec les autres (comme if(one[0]<two[0] && one[0]<three[0]&& ...etc.). S'il est faux, alors comparez le deuxième de la même manière et ainsi de suite. Mais c'est un peu lourd.

 
Cmu4:

Messieurs, veuillez me conseiller sur la manière compacte (il existe peut-être des fonctions) d'identifier la valeur la plus grande/la plus petite d'un des tampons existants ? Il ne s'agit pas seulement d'identifier, mais aussi de déterminer quel est le tampon ayant la valeur la plus grande/la plus petite.

Supposons que nous ayons 4 tampons, alors la chose la plus simple qui nous vient à l'esprit est de comparer d'abord le premier avec les autres (comme if(one[0]<two[0] && one[0]<three[0]&& ...etc.), puis de comparer le deuxième de la même manière et ainsi de suite. Mais c'est un peu lourd.

ArrayMinimum renvoie l'index de la valeur minimale du tableau, de la même manière que ArrayMaximum.

Si vous voulez comparer plusieurs tampons, vous pouvez obtenir les valeurs extrêmes, puis les comparer en utilisant if ou fmin, fmax.

 
Cmu4:
Pensez-vous que cette méthode nécessite moins de ressources que la simple force brute que j'ai écrite ci-dessus ?

Pas du tout,

bien que non, si les tableaux à rechercher sont de 3-4 mesures et que les tableaux sont de 2-3, ce sera plus rapide.

 
Urain:

ArrayMinimum renvoie l'index de la valeur minimale du tableau, et ArrayMaximum fonctionne de manière similaire.

Si vous voulez comparer plusieurs tampons, vous pouvez obtenir des valeurs extrêmes et les comparer ensuite en utilisant if ou fmin, fmax.

Je viens de lire les descriptions des fonctions...

ArrayMinimum est un autre exemple, car j'ai besoin de comparer la valeur de la barre 0 et je n'ai pas besoin de chercher dans l'historique du tableau.

fmin ne compare que deux buffers, à quoi cela sert-il ? Je peux aussi bien utiliser la norme si. Mais alors vous avez beaucoup de conditions... 4 complexes pour le minimum et le même nombre pour le maximum...

 
Cmu4:

Maintenant que j'ai lu la description de la fonction...

ArrayMinimum est d'une autre direction - car j'ai besoin de comparer la valeur de la barre 0, et je n'ai pas besoin de la recherche de l'historique du tableau.

fmin ne compare que deux buffers, à quoi cela sert-il ? Je peux aussi bien utiliser la norme si. Mais alors vous avez beaucoup de conditions... 4 complexes pour le minimum et le même nombre pour le maximum...

fmin ne compare pas des tampons, il compare deux valeurs.

Votre tâche est maintenant claire, vous devez trouver un extremum parmi les valeurs parallèles de différents tampons.

Maintenant, répondez à la question suivante : avez-vous besoin de cette action uniquement pour les valeurs nulles ? ou devez-vous répéter cette action pour plusieurs valeurs parallèles ?

 
Urain:

fmin ne compare pas des tampons mais deux valeurs.

Maintenant votre tâche est claire, vous devez trouver l'extremum parmi les valeurs parallèles des différents buffers.

Maintenant, répondez à la question suivante : avez-vous besoin de cette action uniquement pour les valeurs nulles ? ou cette action doit-elle être répétée pour de nombreuses valeurs parallèles ?

Il est nécessaire pour un conseiller expert qui négocie à partir du marché. Ainsi, nous devons comparer les valeurs de tous les tampons sur la barre actuelle.

Voici une capture d'écran de l'indicateur, sur la barre zéro duquel vous devez trouver le tampon maximum et minimum :

 
Cmu4:

Ceci est nécessaire pour un EA qui négocie à partir du marché. En conséquence, les valeurs de tous les tampons de la barre actuelle doivent être comparées.

Voici une capture d'écran de l'indicateur, sur la barre zéro duquel vous devez trouver le tampon maximum et minimum :

C'est plus simple alors, assignez dans l'ordre toutes les valeurs nulles des tampons dans un tableau (vous pouvez même le définir statiquement, car le nombre de tampons est connu d'avance) et appliquez les fonctions ArrayMinimum ArrayMaximum à ce tableau récapitulatif, le résultat sera le numéro de série du tampon dans l'ordre d'assignation.
 
Urain:
Ensuite, c'est simple, assignez dans l'ordre toutes les valeurs nulles des tampons dans un tableau (vous pouvez même le définir statiquement puisque le nombre de tampons est connu d'avance) et appliquez les fonctions ArrayMinimum ArrayMaximum à ce tableau récapitulatif, comme résultat vous obtiendrez le nombre de tampons dans l'ordre d'assignation.
Merci, ça fera l'affaire ! :)
Raison: