Erreurs, bugs, questions - page 1760

 
Vladimir Karputov:

Tiré de la classeCPositionInfo:

bool CPositionInfo::SelectByIndex(const int index)

presque au milieu de nulle part )

cet exemple est très attendu dans la section d'aide :"informations sur le compte".

 
Alexandr Bryzgalov:
presque au milieu de nulle part )
Tout est relatif : si vous travaillez avec la bibliothèque standard une centaine de fois par jour, tout se révèle très proche :)
 
Vladimir Karputov:
Tout est relatif : si vous travaillez avec la bibliothèque standard une centaine de fois par jour, tout se révèle très proche :)
travailler avec la référence
 
o_O:

@Dennis Kirichenko, @Alexander Bryzgalov

il n'y a aucune ambiguïté.

INT(LONG) prend juste la moitié de la plage de UINT(ULONG).

laconversion de type fonctionne sans restriction

---

Vous pouvez le vérifier par vous-même.

long  a=-100

ulong ua=(ulong)a;

long b=(long)ua;

Print(a, " - ", ua, " - ", b);


Tout fonctionne comme il se doit

la magie négative peut être utilisée

Tu vois, à magic -1, il compile et fonctionne bien et le trouve en utilisant cette magie.

Je commençais à être frustré.

même ainsi est silencieux :

uint Magik=(-1);
mais ce n'est toujours pas négatif, mais très putain de positif).
 

Alexandr Bryzgalov:

seulement ce n'est toujours pas négatif, mais putain de positif).

cela ne change rien. pour int c'est -1
 
o_O:
cela ne change rien. pour int c'est -1

Le fait est que, si je fixe le magik à -1 et que je le compare ensuite à zéro, il sera supérieur à zéro.

c'est le but, nous devrons le comparer à un demi uint ou le convertir en int

c'est une question de technique, mais quand même ...
 
Alexandr Bryzgalov:

le truc, c'est que si je mets magik -1 et que je le compare à null, il sera plus grand que null.

voilà le problème, vous devrez le comparer à un demi-uint ou le convertir en int.

c'est une question de technique, mais quand même ...

Si vous voulez comparer int avec uint, le compilateur devrait vous avertir d'une telle comparaison invalide.

vous devez en tout cas effectuer la conversion vers le même type. pas de mais

 

J'ai un bogue spécifique lié à l'optimiseur du compilateur, semble-t-il.

Le gros code ne fonctionne pas comme il le devrait - décalage uniquement en Release (Debug - normal).

Après une journée de danse, j'ai découvert que si je commente ObjectFind à un endroit, les décalages disparaissent.

Cependant, je n'ai pas pu créer un échantillon de petite taille avec le même problème.

J'ai essayé de laisser ObjectFind dans le code original mais d'ajouter un Print trivial avant/après celui-ci. Et il n'y avait aucun décalage ! Quand j'enlève Print, ça ralentit encore !

Il semble que l'optimiseur du compilateur soit allé trop loin. Je n'ai aucune idée de comment l'écrire en CD, car je ne peux pas créer un petit code de relecture. Et si j'en écris un gros, ce sera l'enfer à payer.

Que peut-on faire dans cette situation ? Je suppose que le découpage d'un gros code, tant qu'il est reproductible, est une option. Mais le projet se compose de nombreuses bibliothèques. Cela m'a déjà pris une journée entière et je ne veux plus le faire.

 

Chers développeurs !

Veuillez créer des infobulles pour les variables dans le débogueur, comme dans l'assistant.

Ainsi, je passe ma souris sur une variable et une infobulle s'affiche avec la valeur actuelle de cette variable. Ce serait très pratique.

 

Bild 1017 dans le metaeditor, appuyer sur F1 ne fonctionne pas...

Il n'y a pas de traduction dans la fenêtre "À propos" et tout est dans une langue étrangère.