Catégories

Top 50 des fonctions les plus utilisées dans les exemples de CVI

J’ai eu l’occasion de faire une analyse de tous les codes source des exemples qui viennent avec CVI 2013. Il a fallu que je m’y reprenne à deux fois mais cette fois je crois disposer d’un résultat fiable. En effet au départ j’avais des problèmes avec les codes qui utilisaient le SDK ou .NET. Je ne faisais alors l’analyse que de 152 code sources sur 360 disponibles. Dans un deuxième temps je tiens compte de pratiquement tous les fichiers sources. J’ai encore des problèmes avec 17 d’entres eux. C’est notamment des problèmes de header manquants je crois… 17 sources sur 360, je vais pas perdre de temps là dessus.

Quoiqu’il en soit, en tenant compte des sources disponibles dans les répertoires ActiveX, .NET et SDK je me retrouve à analyser des source du style ..\National Instruments\CVI2013\samples\dotnet\mscorlib2.c qui fait 16 Mo! C’est un peu ridicule, bourré de fonctions et à mon avis ça trouble les résultats.

Suite comparaison des deux listes des noms de fonctions des analyse « complète » et « un peu moins complète », mon sentiment est qu’on a une très bonne idée du Top 50 des fonctions les plus utilisées dans les exemples CVI si on s’intéresse aux fonctions de la liste suivante. Cette liste comprend 1 486 fonctions différentes et chacune est plus ou moins invoquée souvent. Par exemple, la plus utilisée c’est SetCtrlAttribute qui est invoquée 906 fois. Pour finir, sur un total de 11 485 appels de fonctions recensés, les fonctions suivantes sont appelées 6 530 fois. Elles représentent plus de 50% des appels de fonctions :

SetCtrlAttribute
GetCtrlVal@12
SetCtrlVal
sprintf
free
MessagePopup@8
DiscardPanel@4
LoadPanel@12
DisplayPanel@4
QuitUserInterface@4
InitCVIRTEEx@12
RunUserInterface@0
MakePoint@8
strcpy
malloc
GetCtrlAttribute@16
rand
OGLSetCtrlAttribute
DeleteGraphPlot@16
SetWaitCursor@4
GetPanelAttribute@12
SetPanelAttribute
MakeRect@16
CloseCVIRTE@0
PlotY@40
SetMenuBarAttribute
InsertListItem
ColorPicker_SetAttribute
printf
Fmt
Timer@0
MakeColor@12
strcat
strlen
calloc
memset
GenerateGraphs
SetTableCellAttribute
SetInputMode@12
fprintf
sin
GetGeneralErrorString@4
_GetFilesArray
InstallPopup@4
strcmp
ActiveIconFile
SetTreeItemAttribute
SetAxisScalingMode@32
Delay@8
HideBuiltInCtrlMenuItem@12

Je vous conseille de jeter votre œil. Si une fonction est inconnue, faites CTRL+SHFT+P dans l’éditeur de code de CVI, retrouvez la et lisez la doc. Oui, oui bien sûr il faut pasmettre l’@ ni le chiffre si il y en a un. Attention, je pense que la fonction _GetFilesArray est une fonction cachée.

Note : oubliez la fonction Fmt. C’est un veau qui n’avance pas.

Pour être complet voilà le Top 50 des fonctions utilisées lorsque l’on tient compte des exemples .NET, SDK, ActiveX etc. Fondamentalement il n’y a pas de grosse différences à part le nombre de fonctions .NET qui apparaissent. Attention, elles sont sur-représentées à cause des fichiers mscorlib2.c et mscorlib.c

CDotNetInvokeGenericMember@56
_CDotNetGenDisposeScalar
CDotNetDiscardHandle@4
CA_MethodInvokeEx
CDotNetInvokeGenericStaticMember@60
CDotNetCreateGenericInstance@40
CDotNetInvokeGenericInterfaceMember@64
CDotNetCreateArray@24
_CDotNetGenDisposeArray
CDotNetGetArrayLength@12
CDotNetGetArrayElements@16
SetCtrlAttribute
GetCtrlVal@12
CDotNetLoadAssembly@8
CDotNetDiscardAssemblyHandle@4
SetCtrlVal
CDotNetGetEnumValue@8
CDotNetCreateTypedArray@28
MessagePopup@8
OGLSetCtrlAttribute
CA_DiscardObjHandle@4
sprintf
CA_RegisterEventCallback@28
CA_GetEventCallback@20
CDotNetCreateInstance@28
CA_GetInterfaceFromObjHandle@20
System_Reflection_BindingFlags__Create@12
free
CA_FillErrorInfoEx@20
CA_DefaultValueVariant@0
DiscardPanel@4
LoadPanel@12
CA_InvokeHelperEx
DisplayPanel@4
SetWaitCursor@4
QuitUserInterface@4
InitCVIRTEEx@12
RunUserInterface@0
CA_FreeMemory@4
CA_CreateObjHandleFromInterface@28
strcpy
MYPrintf
GetCtrlAttribute@16
CDotNetFreeMemory@4
MakePoint@8
malloc
CA_VariantClear@4
CDotNetGetEnumTypeFromName@12
CDotNetGetTypeFromName@16
strlen

Comments are closed.