1

sous wm2003 (et les autres) on peut arrêter un programme avec mémoire->processus

est ce qu'on a un moyen pour que l'appli s'en rende compte?

l'idée c'est que mon programme fait des malloc() mais je voudrais bien ne pas rater de free() vu le peu de ram sur un truc embarqué cheeky

j'ai pensé à un truc comme atexit ou un signal, mais est ce que ça existe en win32?

ah oui au fait, est ce que win32 fait comme linux et libère tous les malloc() non libérés à la mort d'un processus?

2

si tes allocations sont propres, le noyau les désalloue au kill...
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

3

ok, merci smile

et c'est quoi une allocation 'sale' ? grin

4

les allocs qu'on file a ceux qui viennent voler le pain des français par ex
avatar

5

6

Théoriquement Windows CE désaloue la memoire. Mais je ne me fierais pas trop la dessus, certaines parties de la gestion de la mémoire sont un peu buggé.

Sinon suivant comment tu programme ton appli WinCE, tu as un message qui est passé a l'appli pour lui dire "eteint toi proprement stp" plutot que de killer l'appli sans chercher a comprendre.

avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

7

int WINAPI WinMain(	HINSTANCE hInstance,
					HINSTANCE hPrevInstance,
					LPTSTR    lpCmdLine,
					int       nCmdShow)
{

	MSG msg;
	HACCEL hAccelTable;

	// Perform application initialization:
	if (!InitInstance (hInstance, nCmdShow)) 
	{
		return FALSE;
	}

	hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_WCEWS);

	//create a separate thread for the main server routine
	if(startserver(lpCmdLine)) {
		MessageBox(NULL,L"Server startup error :(",L"error",MB_APPLMODAL);
		return 0;
	}

	// Main message loop:
	while (GetMessage(&msg, NULL, 0, 0)) 
	{
		if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) 
		{
			TranslateMessage(&msg);
			DispatchMessage(&msg);
		}
	}

	stopserver();

	return msg.wParam;
}


ça le fait? grin

8

hmm ben en essayant malgré moi, même s tu quittes salement avec le "gestionnaire de taches" il finit quand même sa boucle getmessage et se retrouve aussi dans stopserver() top
donc c'est pas si sale en fait smile

9

Si tu as fait "fin de tache", tu as demandé à quitter proprement.
Essaie en faisant "terminer le processus"

10

Heu, j'ai un doute que WinCE propose ceci... (je vérifie sur mon pda..)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

11

12

Bref, donc quand tu fait "arreter machin" tu fait simplement un "close" de l'appli tu ne tue pas brutalement le process
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

13

oui, un WM_QUIT apparemment. Et si ça résiste (genre t'essayes de fermer pocket outlook quand il est connecté), il te dit que le process répond pas et là il le tue salement, je pense.

14

oui comme sous un win classique
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

15

Comme topics/84916-acces-concurrents-a-une-variable est !closed, je ne peux pas y répondre.
topics/84881-threads-win32 également, donc je répondrai ici au premier topic...
./1 (squalyl) >
salut tlm, je continue à apprendre le multithreading sur le tas smile

j'ai une variable globale qui doit être mise à jour par deux threads différents

Evidemment ils peuvent l'écrire en même temps donc ça peut chier ^^

je sais qu'il existe des sémaphores, des mutex... et j'ai déja vu passer une EnterCriticalSection. Et je connais pas les différences.

je voudrais faire ça:

[s'assurer qu'un seul thread peut écrire ma variable]
incrémenter la variable
[relâcher le blocage]
quelle technique dois je utiliser?
./2 (JackosKing) >sémaphore
./3 (squalyl) >moi aussi je
./4 (Moumou) >
http://en.wikipedia.org/wiki/Semaphore_%28programming%29
./5 (squalyl) >
manque de pot, j'utilise une section critique triso http://en.wikipedia.org/wiki/Critical_section
#mr_je_sais_tout_qui_se_plante#
./6 (Moumou) >
confus
./7 (squalyl) >
!close
--- Close : vous n'etes pas l'auteur du sujet ni modérateur !
--- Close : sujet clos ! bon ça suffit les parlottes inutiles dans le vent, toi en info tu m'a l'air d'un vrai H d'Hawaï

Pour que tout le monde comprenne, je vais réécrire le topic en version M. Tout Le Monde :
./1 (squalyl) >
salut tlm, je continue à apprendre le déplacement sur le tas smile

je voudrais faire ça:

[aller d'un point A à un point B éloigné sans me fatiguer]
quelle technique dois je utiliser?
./2 (JackosKing) >voiture
./3 (squalyl) >moi aussi je
./4 (Moumou) >
http://fr.wikipedia.org/wiki/Voiture
./5 (squalyl) >
manque de pot, j'utilise un véhicule triso http://fr.wikipedia.org/wiki/V%C3%A9hicule
#mr_je_sais_tout_qui_se_plante#
./6 (Moumou) >
confus
./7 (squalyl) >
!close
--- Close : vous n'etes pas l'auteur du sujet ni modérateur !
--- Close : sujet clos ! bon ça suffit les parlottes inutiles dans le vent, toi en déplacement tu m'a l'air d'un vrai H d'Hawaï

Présentée ainsi, l'absurdité de la situation est assez nette, non ?

squalyl > tu vas apprendre les bases du multi-threading à partir d'octobre ou novembre, avec dès le début le concept de section critique (qui n'est rien de plus que ce que tu dis vouloir faire en ./1, et différentes méthodes pour créer une section critique, la plus courante étant l'utilisation des sémaphores de Dijkstra, mais on peut aussi utiliser un ensemble de mutex (si je me souviens bien des mes cours, ce sont des sémaphores binaires, c'est-à-dire initialisés à 1) impémentés soit par de vrais sémaphores, soit par désactivation des interruptions (quand c'est possible), soit par l'instruction TAS (Test And Set) sous 68k, soit par bien d'autres méthodes, sachant qu'il n'existe AUCUNE méthode infaillible pour créer une section critique, ça dépend des cas d'utilisation.
Autrement dit, tu verras ça très bientôt, inutile d'aller plus vite que la musique, et comme tu le dis toi-même, tu apprends sur le tas, ce qui explique que ce soit toi le #mr_je_sais_tout_qui_se_plante#, et non JackosKing ou Moumou qui avaient répondu exactement ce qu'il fallait (de manière un tantinet concise, certes hehe, mais cependant correcte).
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

16

si tu crois que je vais passivement attendre qu'un quelconque prof me fasse un quelconque cours... si c'est pour dire ça t'aurais pu éviter.

quand on s'intéresse on connait déja avant d'aller en cours. le cours, c'est la théorie, genre hôôô c'est super c'est djikstra qui a inventé ce bordel. Mais tu sais, quand t'es devant le compilo et que tu vois ta variable qui va partir en couille si tu la protège pas, ben t'en as rien a battre des cours, tu cherches LA fonction.

si ça t'intéresse je bosse l'ada aussi. Mais je m'abstiendrai de poser des questions, on va me dire "ta geule tu étudieras l'ada en détail quand tu seras plus grand!"

je sais pas pourquoi, mais en ce moment t'es pénible toi. moi aussi, ok.

en tout cas, "ne pas aller plus vite que la musique" "tu verras bien" etc, va dire ça à un débile, mais à moi on me la fait pas. Brider ma culture en me disant ça, c'est pas possible, j'imagine pas trop que tu me connaisses aussi mal.

17

pourtant la culture bridée ça te branche non ?
avatar

18

ta geule toi t'es bourré ou quoi?

bon allez comme les autres.